Changes for version 5.0 - 2025-01-22

  • Introduce vimish marks for windows:
    • Add API calls to remember focused window and quicky select it when needed
  • Improve multiple screens handling:
    • Windows are moved to their preferred screens upon their reconnection
    • Screen affinity is configurable in config file via the "placement" rule
    • WM keeps track of the selected tag for particular screen configuration
  • Implement D-Bus notifications server:
    • Mark notifying windows as urgent when the server is in use
    • Support API call to raise urgency by WM_CLASS
  • Rework debug subsystem:
    • Switch to debug levels: 1-9
    • Introduce DEBUGx constant function for each debug level
    • Introduce slow S_DEBUG function to use it within return statements
    • Replace die/warn with croak/carp in applicable places
    • Remove stale Devel::SimpleTrace dependency
    • Set Carp::Verbose for debug level 3 or above
  • Implement toggle_maximize() for invisible windows
    • Replace implicit toggle with explicit set via parameter
    • Support toggling for invisible windows
  • Other minor improvements and fixes:
    • Prevent windows from being mapped over any maximized one
    • Implement _NET_SUPPORTED EWMH
    • Fix Java AWT rendering issue without reparenting
    • Add atom() caching function that creates them on demand
    • Replace croak with carp for unknown ButtonPress events
    • Fix buffer size to properly handle UTF-8 in Window->title()
    • Implement Window->select() to simplify switching to window from anywhere
    • Improve Expose grab keyboard timings
    • Other small code refactoring

Documentation

a tiling window manager written in Perl

Modules

a tiling window manager written in Perl

Provides

in lib/X11/korgwm/Notifications.pm
in lib/X11/korgwm/API.pm
in lib/X11/korgwm/Common.pm
in lib/X11/korgwm/Config.pm
in lib/X11/korgwm/EWMH.pm
in lib/X11/korgwm/Executor.pm
in lib/X11/korgwm/Expose.pm
in lib/X11/korgwm/Hotkeys.pm
in lib/X11/korgwm/Layout.pm
in lib/X11/korgwm/Mouse.pm
in lib/X11/korgwm/Notifications.pm
in lib/X11/korgwm/Panel.pm
in lib/X11/korgwm/Panel/Battery.pm
in lib/X11/korgwm/Panel/Clock.pm
in lib/X11/korgwm/Panel/Lang.pm
in lib/X11/korgwm/Screen.pm
in lib/X11/korgwm/Tag.pm
in lib/X11/korgwm/Window.pm
in lib/X11/korgwm/Xkb.pm