Skip to content

Releases: fvwmorg/fvwm3

Fvwm3-1.0.2

20 Dec 18:24
Compare
Choose a tag to compare

There have been a tonne of bug-fixes, and what's listed below are some key-highlights. Please do read the full CHANGELOG in detail for more information.

Full Changelog

Breaking changes:

  • Deprecate librplay support in FvwmEvent #316
    • This therefore means librplay as a dependency is no longer required.
  • documentation: remove docbook in favour of asciidoc #290 (ThomasAdam)
    • This therefore means that xsltproc as a dependency is no longer required, but asciidoctor will be for compiling man pages.
  • documentation: --enable-htmldoc has been removed -- generating HTML documentation is longer possible.

Implemented enhancements:

  • New Status command in JSON format (over a FIFO) for use with external bars such as lemonbar
  • Add expansion variables for a window's X/Y page #255
  • Introduced a compat-wrapper for FvwmCommand written in Python3

Fixed bugs:

See the Full Changelog

Please see the attached tarball for version 1.0.2

Fvwm3-1.0.1 released

04 Oct 20:17
Compare
Choose a tag to compare

This is release 1.0.1 of fvwm3.

For a full changelog, see: https://github.com/fvwmorg/fvwm3/blob/master/CHANGELOG.md

This release addresses the following:

  • New Features:

    • Add support for infostore in EnvIsSet Test case #240 (ThomasAdam)
    • Add variable/parameter which indicates the state of the FVWM3 logging #239 (NsCDE)
    • Support for setting default mouse cursor on all FvwmScript widgets #222 (NsCDE)
    • Add support for triangle indicator in/out sub options #221 (NsCDE)
    • Add WindowName option to FvwmButtons #219 (NsCDE)
  • Build problems:

    • compilation fails on openbsd-current due to safemalloc.h (va_list) #231
    • "version of go" misinterpreted by configure script? #202
    • Unable to build 1.0, bson.h not found [FreeBSD 12.1] #200
  • Bug-fixes:

    • _NET_WM_STATE was not updated for maximized windows #203
    • EwmhBaseStruts calculations don't use monitor's #241
    • DesktopConfiguration global inherits behaviour from per-monitor mode #236
    • FvwmEvent: missing monitor\_focus event #228
    • perllib: doesn't understand MX_MONITOR_* events #226
    • FvwmButtons subpanels not popped out on primary monitor when desk is > 0 #224
    • PositionPlacement Center: fix to use current screen #211
    • EwmhBaseStruts missing screen info from manpage #208
    • EwmhBaseStrut: fix calculations for per-monitor #242 (ThomasAdam)
    • Fix window locations in Global mode #237 (ThomasAdam)

See the fvwm3-1.0.1.tar.gz attached, to download.

Fvwm3-1.0.0 released

03 Sep 06:15
Compare
Choose a tag to compare

This is the first public release of Fvwm3.

Migration from Fvwm2 -> Fvwm3

Every effort has been taken to ensure backwards compatability with Fvwm2 as much as possible. Although the configuration syntax remains the same, there some breaking changes with this first release of Fvwm3. Details are below...

Incompatible Changes

The following are changes or features in this release of Fvwm3 which are known not to work or are incomplete in some way. In each case, more information can be found by looking at Fvwm3's issue list.

  • EdgeScroll -- can behave strangely if using more than one monitor
  • PanFrames -- can sometimes be placed inconsistently around monitor borders, meaning switching desks/pages with >1 monitor can sometimes misbehave;
  • FvwmPager -- moving windows within the pager can sometimes make them appear in a different location to where they should be.
  • Test (version >2.6) is not a valid check for fvwm3 syntax, as the version number for fvwm3 has reset. To check for fvwm3, there is an environment variable set: FVWM_IS_FVWM3. This can be used in conjunction with Test (EnvIsSet ...) to achieve the same goal.

Core dependencies required to build Fvwm3

These libraries have been made mandatory, and the devel versions as well as the binary versions will be needed for both compilation and run-time:

  • librandr (>= 1.5)
  • libbson (>= 1.16.2)
  • libevent-dev (>= 2.0)
  • libxt-dev

For further details, see: https://github.com/fvwmorg/fvwm3/blob/master/dev-docs/INSTALL.md#manually

Functional changes

New additions

  • RandR support can be configured via the DesktopConfiguration command. If this command is not present in a user's configuration file, the default behaviour is to mimick Fvwm2, whereby when switching desks/pages, the same desk/page across all monitors is changed. This is what the global option to DesktopConfiguration does. If per-monitor is specified, then each monitor has its own list of desktops/pages which can be configured independently of one another.
    • FvwmPager has gained a new option Monitor to work with independent monitors.
  • FvwmMFL -- a new module to supply third-party programs with fvwm3 state information`
  • FvwmPrompt -- a new module written in golang: ./configure --enable-golang needed at compile time
  • Since FvwmCommand has been removed, a shell wrapper can be used to talk to FvwmMFL instead. The following is an example, but any language which can talk to a socket can be used. This example assumes that BSD's nc(1) program is installed (netcat-openbsd on some systems):
    function FvwmCommand() {
        echo "$@" | nc -q 1 -U /tmp/fvwm_mfl.sock >/dev/null 2>&1
    }
    
  • FvwmForm has been reinstated.
  • The GotoDesk command has learned a new option next to go to the next desktop.
  • The core of fvwm3 no longer logs to stderr, and instead a dedicated file ($[FVWM_USERDIR]/fvwm3-output.log by default) is used to capture debug information from fvwm3
    • This logging can be toggled by sending SIGUSR2 to running fvwm3 instance.
  • FvwmForm: the Timeout option now operates in 1000ms, rather than in seconds.
  • Colorsets have gained the following options: .lighten, .darken, .hash to help with colour manipulations without requiring PipeRead/external tools.
  • FvwmEvent gains: monitor_enabled, monitor_disabled, monitor_changed event hooks to react to when RandR changes. Usual fvwm functions/scripts can take advantage of this.
  • A few new expansion variables for monitors: $[monitor.<n>.x], ... which expose information from RandR

Removed features

  • Support for Xinerama has been removed, replaced with RandR.
  • The Recapture and RecaptureWindow commands have been removed;
  • FvwmConsole is deprecated; FvwmPrompt is preferred if golang is installed and --enable-golang is used at compile time.
  • libstroke support has been removed.
  • The following modules have been removed:
    • FvwmBanner -- can use an external program for this;
    • FvwmCommand/FvwmCommandS -- replaced with FvwmPrompt
    • FvwmCpp /FvwmM4 -- old and not used by many users;
    • FvwmProxy -- interesting experiment, but removed. Some functionality may well integrate in to the core of fvwm3.
  • fvwm-bug and fvwm-menu-headlines scripts have been removed.

Reporting Problems

Please report any problems using GitHub's issue tracker for Fvwm3: https://github.com/fvwmorg/fvwm3/issues

FVWM3-1.0.0-RC0

01 Sep 00:09
Compare
Choose a tag to compare
FVWM3-1.0.0-RC0 Pre-release
Pre-release

Hi,

Here is a public release of RC-0 for Fvwm3.

This is the first release candidate version. There are currently some outstanding bugs you may encounter to a lesser or greater extent although not all of these are necessarily blocking release. I would though like to be proved wrong in that!

Note that I consider this release package-worthy -- so if there are downstream package maintainers who wan't to package this up for their Linux distro, please do.

Key Changes from Fvwm2 -> Fvwm3

The following points should be considered when changing from Fvwm2 -> Fvwm3. In most cases the syntax of configuation file remains unchanged, so should work.

Core dependencies required to build Fvwm3

See: https://github.com/fvwmorg/fvwm3/blob/master/dev-docs/INSTALL.md#manually

Functional changes

New additions

  • RandR support can be configured via the DesktopConfiguration command. If this command is not present in a user's configuration file, the default behaviour is to mimick Fvwm2, whereby when switching desks/pages, the same desk/page across all monitors is changed. This is what the global option to DesktopConfiguration does. If per-monitor is specified, then each monitor has its own list of desktops/pages which can be configured independently of one another.
    • FvwmPager has gained a new option Monitor to work with independent monitors.
  • FvwmMFL -- a new module to supply third-party programs with fvwm3 state information`
  • FvwmPrompt -- a new module written in golang: ./configure --enable-golang needed at compile time
  • FvwmForm has been reinstated.
  • The GotoDesk command has learned a new option next to go to the next desktop.

Removed features

  • Support for Xinerama has been removed
  • Recapture and RecaptureWindow commands have been removed;
  • FvwmConsole is deprecated; FvwmPrompt is preferred if golang is installed and --enable-golang is used at compile time.
  • libstroke support has been removed.
  • The following modules have been removed:
    • FvwmBanner -- can use an external program for this;
    • FvwmCommand/FvwmCommandS -- replaced with FvwmPrompt
    • FvwmCpp /FvwmM4 -- old and not used by many users;
    • FvwmProxy -- interesting experiment.

Reporting Problems

With this RC-0 release, please add anhy observations to: #65