7 -----------------------
8 detect automatically if a window wants to be managed or not (should be
9 easy, but the -unmanaged switch works well, too)
11 Kill apps nicely when killed. (Some signal handling)
13 Make wmswallow not only accept mouseclicks on ButtonPress, but also get
14 some contents of the cutbuffer on (say) a middleclick, and then do
15 something user-defineable about it. (generic solution for wmnetselect
20 Maybe write freebsd port
22 Do things reliably/the clean way
23 -> I mean, don't wait for some microsecs, when you can ask the app
24 what's up -> find out how! -> XSync seems to work...
25 -> Wait a second at the right moment helps some things greatly!
26 Still i don't know if it's the "right thing"[TM]
28 Problems (maybe unresolvable):
29 --------------------------------------
30 WindowMaker segfaults if an instance of wmswallow hangs when
31 the wm is restarted -> Probably windowmaker bug, but can be fixed by
32 better signal-handling on behalf of wmswallow
34 If you swallow apps on the clip *and* in the dock at the same time,
35 the apps for the clip wander to the dock and vice versa...
36 Huh? This is most strange. I fear that looks like one of
37 WindowMaker's many bugs.. :) (Yeah, blame it on others, good
40 Shaped apps that change their shape will look "out of sync". This is
41 especially visible with
42 wmswallow xdaliclock xdaliclock -24 -transparent -cycle \
43 -geometry 61x61 -fn fixed -oink-oink
44 There are other problems with xdaliclock -transparent (flicker, the
45 seconds are lagged behind respectively out of beat) which do not
46 depend on wmswallow and can be noticed as well, when
47 xdaliclock -transparent is not being swallowed.
49 perfmeter objects to have its mouseclicks selected
50 -> As a workaround, i make the XInputSelect Mask dependant on
51 whether the user wants to click on the window, or not. But
52 i'd like to do it better (i.e. force perfmeter to accept
54 -> In fact, for every application that selects ButtonPress
55 events, the same events cannot be selected twice (manpage
57 -> It seems, this "Problem" cannot be fixed!
59 click works only on the surface of the swallowed window:
60 (Obviously, because the rest of the area belongs to the
61 dock... Or can that be redeemed?)
64 ===============================================================================
66 Make basic dockable App
68 Then steal code off fvwm2 to learn how to swallow stuff
69 -> done.. Wow! That's easy!
71 Resize swallowed window appropriately
73 Judge what to get by following rule:
77 Get command to run from commandline and spawn program.
79 Somehow handle shaped windows (Like xeyes)
80 -> Ok, even resizing works
82 Option: -updateshape (or similar) for apps that change their shape
83 (like oclock -transparent)
84 -> is done by default behaviour! :-)
86 Clean up allocated space (fix memory holes)!
87 -> Looks ok now. Sending multiple Events under X11 has evil
90 Better command-line switch handling. Following commandline-switches:
91 -noshape/-shape : Switch shape functionality on or off
92 -getclick: Define commandline to exec when window is clicked
93 -geometry: Define geometry of swallowed application!
94 (Size is useful, position as well, to adjust asclock)
95 -id: Give Window-id to swallow
97 Freshmeat announcement
99 Let apps take keyboard focus
100 -> might or might not be a problem with windowmaker/dock
101 -> It wasn't... :-) wmMand used Enter and Leave events and then set
102 the focus for himself. And i blatantly stole the code... (just
105 The currently focused window flickers, when the shape gets updated.
106 This is especially strong with
107 wmswallow xdaliclock xdaliclock -24 -transparent -cycle \
108 -geometry 61x61 -fn fixed -oink-oink
109 This also interferes with focus, and it can be seen that the shape
110 gets updated in an unclean way, i.e. the shape and the graphics seem
112 -> Action on Focus event shortened, XMapSubwindows and XMapWindow
113 weren't necessary, stealshape only grabs the shape to the
116 Swallowing sometimes is unreliable (especially on WindowMaker start
117 with many instances) ... Why?
118 -> Theory: Maybe when several instances of wmswallow start,
119 the tree of windows gets changed in a way that sometimes a
120 window cannot be found anymore.
121 -> Jason helped a little, i figured the rest out... every
122 windowmanager reparents windows, and waiting for that is
126 some apps cannot be found (xmountains). Why? xmountains in particular
127 seems to lack a window-id. I didn't know that was possible...
128 -> resolved by Jason, i did not really check the WM_NAME
130 just made an rpm specfile