Andy Spencer [Wed, 15 Apr 2015 20:03:34 +0000 (20:03 +0000)]
Insert windows into WM immediately
This simplifies later processing because we don't have to figure out if
we need to insert or remove windows when they are mapped or unmapped. We
can just insert and remove them when the are created and destroyed then
send ST_SHOW/ST_HIDE events the rest of the time.
Andy Spencer [Wed, 15 Apr 2015 19:51:54 +0000 (19:51 +0000)]
Allow adding hidden windows
This simplifies the system implementation because it can add windows as
soon as their created but before they're mapped. The WM can also keep
track of windows the entire time they exist.
Andy Spencer [Tue, 7 Apr 2015 00:08:48 +0000 (00:08 +0000)]
Remove root window tracking
This is really only applicable to X11, and passing it around though all
the function isn't really needed anyway. The only place it was used was
in the watch/unwatch functions, but we can just pass NULL to say that we
want all events instead of events for a particular window.
Andy Spencer [Wed, 5 Sep 2012 08:54:55 +0000 (08:54 +0000)]
Rewrite X11 sys_show function
This fixes a bug in chrome when trying to leave fullscreen mode. Chrome
expect the fullscreen property to be set, otherwise leaving fullscreen
actually tries to set fullscreen.
This should also close up a few edge cases when switching between
different modes.
Andy Spencer [Tue, 4 Sep 2012 07:04:57 +0000 (07:04 +0000)]
Fix closing windows
The win_msg function initializes a union.. Apparently since XEvent is a
union the implied .xclient.type = 0 overrode the explicit .type =
ClientMessage.
Note: setting focus on gtk windows causes key presses to be missed for
some reason.. so comment that out for now.
Andy Spencer [Sat, 11 Aug 2012 07:16:58 +0000 (07:16 +0000)]
Add TYPE_TOOLBAR instead of hiding them in sys
This hopefully makes things a little cleaner because it avoids having a
global wm_update function and gives the wm a little more control.
However, it now needs some special code to handle toolbars.
Andy Spencer [Mon, 9 Jul 2012 05:41:38 +0000 (05:41 +0000)]
Configure window when set to stack mode
This matches the win32 behavior and prevents stacked windows from
overlapping each other. This causes some flickering in pidign, possibly
because the text area overlaps the menu bar when the window is shaded.
Andy Spencer [Mon, 18 Jun 2012 00:23:35 +0000 (00:23 +0000)]
Get rid of undefine..
In the Gnu's project omniscience, they've totally screwed everything up
by adding automatic variables. Way to go Gnu project. Luckily they
haven't yet added an automatic variable for GCC as they've done for CC,
and since we use gcc specific features calling the variable that should
be fine.
Andy Spencer [Wed, 13 Jun 2012 08:54:12 +0000 (08:54 +0000)]
Allows selecting text in certain GTK+ programs
I don't know why you cant select text otherwise, it's probably because
X11 is insane. This has the down side of not automatically raising a
floating window when it is clicked on..
Andy Spencer [Sat, 9 Jun 2012 07:05:56 +0000 (07:05 +0000)]
Fix some window flashing on X11
- Update sizes in sys-x11 before showing windows. This prevents mapping
a window somewhere where it's not supposed to be mapped right after it
is inserted.
- Rework the configure request handler to prevent resizing windows that
ask to be resized (e.g. when changing font size in urxvt)