LOGIN / SIGN UP

#248 PekWM support for setting NET_WM_WINDOW_OPACITY hint

Reported by: Walther (wallex) Assigned to: Andreas (ioerror)
Phase: release-0.1.13 Component: windowmanager
Type: enhancement Status: new
Priority: 3: Medium
Watchers:

Attachments

Description

http://pastebin.com/1G5b6JPh

This patch (against git-HEAD, 12.03.2010) implements support for setting the opacity hint to windows under various conditions. This hint enables true transparency of windows when a composite manager (eg: xcompmgr) is running alongside PekWM.

Opacity is set in two places: in the autoproperties file (for general windows) and in the config file (for the harbour, menus and workspace indicator).

In the autoproperties file, the property takes the format of: Opacity = "focus, unfocused" (eg: Opacity = "1.0, 0.5").

In the config file, it is defined like this:

In the Screen section, WorkspaceIndicatorOpacity = "value"

In the Harbour section, Opacity = "value"

In the Menu section, FocusOpacity = "value" and UnfocusOpacity = "value" are used.

I know it seems a bit inconsistent, but my original idea was to use a single entry to specify the opacity (ie: like in the autoproperties), however this didn't prove to be the best approach for the config related settings.

Also, all the code is protected by the define OPACITY. I don't know how to mess with configure files, but there needs be added the config option "--enable-opacity" which should define OPACITY when compiling to get it enabled (currently I just manually add the define in pekwm.hh :/).

I can further change this if the requests are sensible :)

PS: Please add a patch to this task, as I can't do it and the pastebin link will expire in a month.

2010-06-07

18:55:09

http://pastebin.com/ZR7dGUUg

This is an updated version of the patch. It applies cleanly to Pekwm 0.1.12, and I believe it also applies cleanly to GIT-HEAD.

It has two new features:

- Support for { Actions = "Toggle Opaque" } (so you can bind a key to turn off/on transparency on the active window).

- Support for the configure script (so now you can enable opacity without code changes, just configure with --enable-opacity).

2010-04-07

22:34:45 attached PEKWM-OPACITY-0.1-2010-03-12.PATCH
22:34:45

Attached the patch from pastebin.

2010-03-12

23:07:04

Oh, I should add the only pending work it has: reflecting changes upon a config reload. Currently you must restart PekWM.

I am not sure what would be the best way to update the changes, since it requires a broadcast to all active windows, the harbour elements, all menus and the workspace... @_@