pekwm

Timeline
Login

Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 most recent check-ins

2026-04-05 15:23
Fix white space and new-line errors. Leaf check-in: f0e9e2ec8e user: pekdon tags: trunk
2026-04-05 15:02
Add check.sh script to run before committing code.

Runs code check, unit and system tests. check-in: 5cf83c928d user: pekdon tags: trunk

2026-04-05 13:12
Handle source of _NET_ACTIVE_WINDOW messages.

If source of _NET_ACTIVE_WINDOW is client, employ focus steal protection if enabled in the configuration. check-in: 0a46926b1a user: pekdon tags: trunk

2026-04-04 10:35
Move _NET_ACTIVE_WINDOW handling in Frame to a separate function.

Refactor before considering the data field of the event that should be looked at for focus steal protection. check-in: 844ad6da6d user: pekdon tags: trunk

2026-04-04 10:34
Enable FocusStealProtect by default only using _NET_WM_USER_TIME.

Use _NET_WM_USER_TIME for focus steal protection, a lower _NET_WM_USER_TIME time than the currently focused window makes the new client focus request to be skipped.

This requires all clients to set the property (to be continued) check-in: 7bd2c9e3c0 user: pekdon tags: trunk

2026-04-04 10:11
Filter out NotifyPointer and NotifyNonlinearVirtual events in FocusIn check-in: 3809752fa7 user: pekdon tags: trunk
2026-04-04 07:31
Fix raise argument parsing regression

Did not catch that raise does not follow the type + name style for values, updated + added test. Added mappings from enum value to string for easy debugging. check-in: e7036b2e5a user: pekdon tags: trunk

2026-04-04 06:49
Do not focus new clients with _NET_WM_USER_TIME set to 0

From EWMH:

"The special value of zero on a newly mapped window can be used to request that the window not be initially focused when it is mapped." check-in: a303ede4ed user: pekdon tags: trunk

2026-04-03 17:15
Continue work on enum mappings. check-in: a7ef43c32a user: pekdon tags: trunk
2026-04-03 11:10
Actually set data in ScreenChangeNotification.

Corruption in geometry from not updating the ScreenChangeNotification with the current geometry in case of RRScreenChangeNotify events was received.

Avoids issues with applications using _NET_WORKAREA that could be incorrectly set because of this. check-in: b394c2b3fb user: pekdon tags: trunk

2026-04-03 11:06
Drop decorations on popup and drop-down menus.

Share rules for ordinary, drop down and pop up menus instead of only skipping decorations on ordinary menus. check-in: 12fcc63c01 user: pekdon tags: trunk

2026-04-03 11:04
No longer on git, remove GetGitHash from CMake check-in: a55e549b25 user: pekdon tags: trunk
2026-02-16 18:06
Continuation of enum name normalization and conversion check-in: 8026ed05e8 user: pekdon tags: trunk
2026-02-16 08:21
Compat define UINT8_MAX, UINT16_MAX and UINT32_MAX

Compilation issue reported on NetBSD as these are not part of C++98 (C++11) check-in: 80cb7c96ca user: pekdon tags: trunk

2026-02-16 08:20
Update old GitHub links to point to Fossil check-in: 111a6cfff5 user: pekdon tags: trunk
2026-02-16 08:17
Work on auto-generating enum mappings.

There is a bunch of enum values that get mapped from strings, auto-generate these to ensure they are sorted and to avoid silly mistakes in missing or mis-spelled mappings. check-in: 89783c6373 user: pekdon tags: trunk

2026-02-15 09:44
Set version 0.4.3 Leaf check-in: 16658a59e4 user: pekdon tags: pekwm-0.4.x, release-0.4.3
2026-02-15 09:34
Compat define UINT8_MAX, UINT16_MAX and UINT32_MAX

Compilation issue reported on NetBSD as these are not part of C++98 (C++11) check-in: c73fbe116d user: pekdon tags: pekwm-0.4.x

2026-02-15 09:21
Update old GitHub links to point to Fossil check-in: 1486475f8f user: pekdon tags: pekwm-0.4.x
2026-01-07 08:49
Clean up enum names

Work on harmonizing enum names preparing for auto generation of StringTo mappings. check-in: fa59c16a88 user: pekdon tags: trunk

2026-01-05 20:35
Move plux test configurations into config folder check-in: 11fb4df5d6 user: pekdon tags: trunk
2026-01-05 07:27
Drop symlinks for files under data check-in: 3f2f9a1220 user: pekdon tags: pekwm-0.4.x
2026-01-05 07:19
Allow specifying - as standard error for --log-file option

It is now possible to override the log-file option with standard error by specifying -, previously this resulted in output to a file named -. check-in: b39e83e634 user: pekdon tags: trunk

2026-01-05 07:18
Drop symlinks for files under data check-in: ea40e4a8c5 user: pekdon tags: trunk
2026-01-03 17:12
Set version 0.4.2 check-in: c8806cef62 user: pekdon tags: pekwm-0.4.x, release-0.4.2
2026-01-03 14:56
Don't allow overriding event handler (Close #211)

Event Handler got overridden during move resize causing lockups as the handlers have not been designed with an intention of being interrupted. check-in: 90a3d81f7f user: pekdon tags: pekwm-0.4.x

2026-01-03 14:53
Don't allow overriding event handler (Close #211)

Event Handler got overridden during move resize causing lockups as the handlers have not been designed with an intention of being interrupted. check-in: a9f70fb5df user: pekdon tags: trunk

2026-01-02 07:37
Clean up files, unmaintained contrib, outdated INSTALL etc. check-in: e83bf906f6 user: pekdon tags: trunk
2025-12-20 08:03
Set pekwm version on root window property _PEKWM_VERSION. (Close #212) check-in: 031c204651 user: pekdon tags: pekwm-0.4.x
2025-12-20 07:59
Set pekwm version on root window property _PEKWM_VERSION. (Close #212)

Git hash is included in the version as well as the version number to easier track differences on development branches. check-in: 5c0888c00e user: pekdon tags: trunk

2025-12-15 16:55
pekwm_sys: handle empty input on interactive input check-in: 9b49c6bd23 user: pekdon tags: trunk
2025-12-15 16:55
pekwm_panel: send configure notify to systray applications

Let systray applications know about the size they get in the panel to avoid icon rendering issues. check-in: 9232c89fc0 user: pekdon tags: trunk

2025-12-15 16:53
pekwm_sys: handle empty input on interactive input check-in: 372caf8603 user: pekdon tags: pekwm-0.4.x
2025-12-15 16:51
pekwm_panel: send configure notify to systray applications

Let systray applications know about the size they get in the panel to avoid icon rendering issues. check-in: 8269ca8d80 user: pekdon tags: pekwm-0.4.x

2025-12-14 08:09
pekwm_panel_battery.sh: add plux tests for linux battery (except energy) check-in: 4b3df86d6a user: pekdon tags: trunk
2025-12-14 07:46
Improve Linux battery percentage detection using energy-based values

Use energy_now/energy_full for accurate charge percentage on Linux systems, with fallbacks to charge_now/charge_full and legacy capacity reporting.

Align shell style and portability: - use test instead of [] - use backticks for command substitution - avoid arithmetic expansion for ancient shells

Tested on Slackware (ThinkPad T14) and matches UPower values. check-in: ab69891a58 user: pekdon tags: trunk

2025-12-13 10:51
README: add Distribution Packages section with Repology badge check-in: 37447fbedb user: pekdon tags: trunk
2025-11-30 19:36
pekwm_panel: add timeofday toggle to default panel configuration

Simple toggle of timeofday for the default panel configuration, icons could use some work as usual. check-in: f69d8fdaa2 user: pekdon tags: trunk

2025-11-30 13:28
Add list-all action to pekwm_ctrl (Close #204)

list-all action listing all clients using _PEKWM_CLIENT_LIST with pekwm specific atoms for frame id and order.

For command details do `pekwm_ctrl -h list-all`.

Updated list-children output to include frame-id. check-in: b571aa4e14 user: pekdon tags: trunk

2025-11-29 10:10
Fix out of bounds vector access in pekwm_sys for timeofday command check-in: 7601c1b957 user: pekdon tags: pekwm-0.4.x
2025-11-29 10:08
Fix out of bounds vector access in pekwm_sys for timeofday command check-in: 59b75552cf user: pekdon tags: trunk
2025-11-29 07:27
Drop package workflow, not properly maintained check-in: 9e3a968dab user: pekdon tags: pekwm-0.4.x
2025-11-29 07:14
Set version to 0.4.1 Leaf check-in: 20385e388c user: pekdon tags: pekwm-0.4.x, release-0.4.1
2025-11-21 18:31
Identify head when doing MoveToEdge (Close #203)

Doing MoveToEdge getting the current head fails making all commands relative to head 0.

(cherry picked from commit 3dc3c1baf4399b335c86145b0b3b1103cd68722a) check-in: b72b5f00d6 user: pekdon tags: pekwm-0.4.x

2025-11-20 21:47
Identify head when doing MoveToEdge (Close #203)

Doing MoveToEdge getting the current head fails making all commands relative to head 0. check-in: 96b1733a36 user: pekdon tags: trunk

2025-11-20 06:13
Allow .0+ in scale match test

(cherry picked from commit 61ce0276104b42371901e8cfd9a2d32c64efa0eb) check-in: d9eb2d017f user: pekdon tags: pekwm-0.4.x

2025-11-20 06:13
Avoid extra N: prefix for workspace names after start (Close #199)

Initial workspace names got a number prefix, unintended so, use number number prefix only if no name is configured for the workspace.

(cherry picked from commit cafafb46fbda59c3fc76949e17225a4580a2ed0b) check-in: 0384f57e0c user: pekdon tags: pekwm-0.4.x

2025-11-20 06:11
Allow .0+ in scale match test check-in: 0297b9a9cd user: pekdon tags: trunk
2025-11-20 06:10
Avoid extra N: prefix for workspace names after start (Close #199)

Initial workspace names got a number prefix, unintended so, use number number prefix only if no name is configured for the workspace. check-in: b4521d4514 user: pekdon tags: trunk

2025-11-20 05:39
Drop package workflow, not properly maintained check-in: f5dd344991 user: pekdon tags: trunk