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