--- Begin Message ---
- To: Debian Bug Tracking System <maintonly@bugs.debian.org>
- Subject: python-plwm: WM_STATE after programmatic de-iconify
- From: Kevin Ryde <user42@zip.com.au>
- Date: Sun, 19 Jan 2014 07:06:15 +1100
- Message-id: <87ob39ukaw.fsf@blah.blah>
Package: python-plwm
Version: 2.6a+20080530-1.1
Severity: minor
File: /usr/share/pyshared/plwm/wmanager.py
If a window is programmatically de-iconified in the usual ICCCM way then
the WM_STATE is left at IconicState whereas I expected it to be
NormalState.
This can be seen with /usr/share/doc/python-plwm/examples/petliwm.py, an
xterm, and the xwit program to iconify and de-iconify,
xwit -iconify -id $WINDOWID; sleep 2; xwit -pop -id $WINDOWID
xprop -id $WINDOWID WM_STATE
The xterm is hidden and restored but xprop prints
WM_STATE(WM_STATE):
window state: Iconic
icon window: 0x0
where I expected "window state: Normal".
Maybe wmanager.py handle_map_request() would use deiconify() instead of
map(), per below. That seems to work for me.
(That MapReqest is the way a client asks for Iconic -> Normal, per
/usr/share/doc/xorg-docs/icccm/icccm.txt.gz under "Changing Window
State":
* Iconic -> Normal - The client should map the window. The contents of
WM_HINTS.initial_state are irrelevant in this case.
--- wmanager.py.orig 2014-01-18 14:40:18.000000000 +1100
+++ wmanager.py 2014-01-18 14:52:30.000000000 +1100
@@ -1156,7 +1156,7 @@
# already mapped window, map it if the user allows it
w = self.get_client(event.window)
if self.allow_self_changes(w):
- w.map()
+ w.deiconify()
def event_to_change(self, event):
change = {}
-- System Information:
Debian Release: jessie/sid
APT prefers unstable
APT policy: (990, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.32-5-686 (SMP w/1 CPU core)
Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages python-plwm depends on:
ii python 2.7.5-5
ii python-support 1.0.15
ii python-xlib 0.14+20091101-1
python-plwm recommends no packages.
python-plwm suggests no packages.
-- no debconf information
-- debsums errors found:
debsums: changed file /usr/share/pyshared/plwm/wmanager.py (from python-plwm package)
--- End Message ---