mikachu/openbox.git
13 years agofix segfault for placing windows without a group
Dana Jansens [Fri, 15 Oct 2010 18:43:56 +0000 (14:43 -0400)]
fix segfault for placing windows without a group

13 years agoadd primary monitor stuff to rc.xsd
Dana Jansens [Fri, 15 Oct 2010 15:47:32 +0000 (11:47 -0400)]
add primary monitor stuff to rc.xsd

13 years agoFix small leak in If action option parsing
Mikael Magnusson [Sat, 9 Oct 2010 22:51:36 +0000 (00:51 +0200)]
Fix small leak in If action option parsing

13 years agoBig changes to placement across multiple monitors.
Dana Jansens [Thu, 14 Oct 2010 23:40:41 +0000 (19:40 -0400)]
Big changes to placement across multiple monitors.

Add a Primary option for which monitor to place new windows on.  Make "Active" the default instead of "Any", which is just totally crazy.

When a window is being placed in the FOREGROUND, use a monitor chosen in
  the following order:
  1. same monitor as parent
  2. primary monitor if placement=PRIMARY
     active monitor if placement=ACTIVE
     pointer monitor if placement=MOUSE
  3. primary monitor
  4. other monitors where the window has group members on the same desktop
  5. other monitors where the window has group members on other desktops
  6. other monitors

When a window is being placed in the BACKGROUND, use a monitor chosen in the
  following order:
  1. same monitor as parent
  2. other monitors where the window has group members on the same desktop
   2a. primary monitor in this set
   2b. other monitors in this set
  3. other monitors where the window has group members on other desktops
   3a. primary monitor in this set
   3b. other monitors in this set
  4. other monitors
   4a. primary monitor in this set
   4b. other monitors in this set

Decide to focus the new window before placing it, so we know if it will be
  placed in the foreground or background.

Always choose a single monitor, then place on it, rather than possibly moving
  to a "backup" monitor.  Unpredictable monitor placement is horrible.

13 years agoadd function screen_compare_desktops()
Dana Jansens [Thu, 14 Oct 2010 23:39:34 +0000 (19:39 -0400)]
add function screen_compare_desktops()

tells if two windows' current desktops are considered logically on the same
  desktop (taking "all desktops" into account)
if a window is on "all desktops" it is considered to be on the current desktop
  only - windows can only be in one place at a time.

13 years agodon't steal focus if someone used a window within 1 second ago
Dana Jansens [Thu, 14 Oct 2010 23:38:46 +0000 (19:38 -0400)]
don't steal focus if someone used a window within 1 second ago

(instead of 0.5 seconds)

13 years agoFixing commit 066a15d7aa64eaa0. Don't ever use CurrentTime as event_curtime.
Dana Jansens [Thu, 14 Oct 2010 23:37:36 +0000 (19:37 -0400)]
Fixing commit 066a15d7aa64eaa0.  Don't ever use CurrentTime as event_curtime.

Force event_curtime to be some valid timestamp.

13 years agoAllow XIncludes in xml documents we read.
Dana Jansens [Sun, 10 Oct 2010 00:11:28 +0000 (20:11 -0400)]
Allow XIncludes in xml documents we read.

Add the XInclude namespace in the default config file (named "xi")

13 years agouse top_builddir, not builddir variable in Makefile. seems builddir doesn't always...
Dana Jansens [Sun, 10 Oct 2010 00:21:16 +0000 (20:21 -0400)]
use top_builddir, not builddir variable in Makefile.  seems builddir doesn't always exist/anymore

13 years agoadd some more warning flags for debug builds
Dana Jansens [Mon, 4 Oct 2010 22:46:32 +0000 (18:46 -0400)]
add some more warning flags for debug builds

-Wno-write-strings so that "foo" is treated as a const char* not a char*.
-Wextra for more fun

13 years agoFix icons.c test for 64-bit platforms
Hiltjo Posthuma [Mon, 27 Sep 2010 18:12:50 +0000 (14:12 -0400)]
Fix icons.c test for 64-bit platforms

13 years agoupdate the last user interaction timestamp during a move/resize of the focused window
Dana Jansens [Wed, 29 Sep 2010 20:15:01 +0000 (16:15 -0400)]
update the last user interaction timestamp during a move/resize of the focused window

13 years agoupdate the user-interaction timestamp when running a (non-interactive) action on...
Dana Jansens [Wed, 29 Sep 2010 20:04:53 +0000 (16:04 -0400)]
update the user-interaction timestamp when running a (non-interactive) action on the focused window
update it at the end of running actions instead of multiple times (once for
 each action)

13 years agodon't steal focus from a window if it was used very recently, when someone uses _NET_...
Dana Jansens [Wed, 29 Sep 2010 19:45:37 +0000 (15:45 -0400)]
don't steal focus from a window if it was used very recently, when someone uses _NET_ACTIVE request.

13 years agomem leak in config.c
Dana Jansens [Fri, 24 Sep 2010 21:00:40 +0000 (17:00 -0400)]
mem leak in config.c

13 years agoBig rework of image.c and the image cache system.
Dana Jansens [Tue, 21 Sep 2010 18:23:57 +0000 (14:23 -0400)]
Big rework of image.c and the image cache system.

Added a lot of comments, simplified call graphs.
Added full (not second-class) support for images coming from named sources (files, icon themes).
RrImage holds an RrImageSet.  RrImageSet holds a bunch of RrImagePic, which are different sizes of a logical image.
RrImageSet objects can be merged if it is discovered they (will) share an RrImagePic.  The RrImage objects are updated to use the new merged RrImageSet.

13 years agoUse >= instead of > when comparing timestamps, or we will ignore some events
Mikael Magnusson [Sun, 19 Sep 2010 17:05:55 +0000 (19:05 +0200)]
Use >= instead of > when comparing timestamps, or we will ignore some events

13 years agoadd some tests for obt pieces (binary search, .desktop parsking, linkbase, and inotif...
Dana Jansens [Tue, 21 Sep 2010 00:57:09 +0000 (20:57 -0400)]
add some tests for obt pieces (binary search, .desktop parsking, linkbase, and inotify watch)

13 years agooops, crash if searching for something smaller than * in the array
Dana Jansens [Tue, 21 Sep 2010 00:02:16 +0000 (20:02 -0400)]
oops, crash if searching for something smaller than * in the array

13 years agoless redundant calls to screen_update_areas() and client_move_onscreen()
Dana Jansens [Sun, 19 Sep 2010 15:06:49 +0000 (11:06 -0400)]
less redundant calls to screen_update_areas() and client_move_onscreen()

13 years agoIgnore MotionNotify on menus, it reset the submenudelay timer
Mikael Magnusson [Fri, 17 Sep 2010 02:00:38 +0000 (04:00 +0200)]
Ignore MotionNotify on menus, it reset the submenudelay timer

It also caused the slightest cursor movement to activate the entry under
the cursor when navigating via the keyboard.

13 years agoUse g_list_find instead of weird bouncing loops
Mikael Magnusson [Mon, 14 Jun 2010 01:14:37 +0000 (03:14 +0200)]
Use g_list_find instead of weird bouncing loops

13 years agoParse multiple keys in one keybind
Dana Jansens [Tue, 14 Sep 2010 22:49:09 +0000 (00:49 +0200)]
Parse multiple keys in one keybind

13 years agoallow the res_class in WM_CLASS to mark a window as a dock app, if it is set to the...
Dana Jansens [Thu, 16 Sep 2010 23:34:14 +0000 (19:34 -0400)]
allow the res_class in WM_CLASS to mark a window as a dock app, if it is set to the string "DockApp"

13 years agoDon't hog the user during the hideDelay
Mikael Magnusson [Mon, 23 Aug 2010 16:30:38 +0000 (18:30 +0200)]
Don't hog the user during the hideDelay

13 years agoHandle STRING and COMPOUND_TEXT type text properties.
Dana Jansens [Thu, 16 Sep 2010 18:52:49 +0000 (14:52 -0400)]
Handle STRING and COMPOUND_TEXT type text properties.

STRING should be latin1 text (plus TAB and LF)
COMPOUND_TEXT should be encoded in the current locale.

13 years agoRevert "add an inotify watcher for directories (doesnt work without inotify yet)"
Dana Jansens [Mon, 24 Jan 2011 19:18:09 +0000 (14:18 -0500)]
Revert "add an inotify watcher for directories (doesnt work without inotify yet)"

This reverts commit c36b89ba12eae18d3011c8516906c21e9abb89dc.

13 years agofix make distcheck
Dana Jansens [Mon, 4 Oct 2010 21:30:22 +0000 (17:30 -0400)]
fix make distcheck

13 years agoglib can't handle -Wcast-qual
Dana Jansens [Thu, 16 Sep 2010 18:52:09 +0000 (14:52 -0400)]
glib can't handle -Wcast-qual

13 years agoadd wmhints test that toggles motif decor hints on a mapped window
Dana Jansens [Thu, 16 Sep 2010 17:50:11 +0000 (13:50 -0400)]
add wmhints test that toggles motif decor hints on a mapped window

13 years agoFix a double free when you have a mousebind without a button attribute
Mikael Magnusson [Mon, 16 Aug 2010 01:08:56 +0000 (03:08 +0200)]
Fix a double free when you have a mousebind without a button attribute

Introduced in f307a3feabedd9bcadeaafd0fa8e1b1a60736eb2

13 years agoFix a copypasto that broke interactive keybinds with meta and hyper keys
Mikael Magnusson [Tue, 10 Aug 2010 21:01:11 +0000 (23:01 +0200)]
Fix a copypasto that broke interactive keybinds with meta and hyper keys

13 years agoRevert "add XFlush to g_timeout callbacks"
Dana Jansens [Sat, 10 Jul 2010 03:58:21 +0000 (20:58 -0700)]
Revert "add XFlush to g_timeout callbacks"

This reverts commit aa3685d16af4a565eecdc39047ee8d140ef5cd99.

Mika's commit using a GSource to handle X Events fixes this problem, so this
commit is not needed

13 years agoFix 3.4 compatibility for SendToDesktop
Mikael Magnusson [Thu, 1 Jul 2010 13:17:02 +0000 (15:17 +0200)]
Fix 3.4 compatibility for SendToDesktop

13 years agoCorrect typo occured -> occurred in function name
Mikael Magnusson [Wed, 30 Jun 2010 10:47:16 +0000 (12:47 +0200)]
Correct typo occured -> occurred in function name

13 years agoAdd signal handling with the GMainLoop
Dana Jansens [Sun, 27 Jun 2010 16:02:44 +0000 (12:02 -0400)]
Add signal handling with the GMainLoop

Provided through a very simplistic interface in obt, found in the
 obt/signal.[ch] files

13 years agoadd stackabove test, that lets you move a client window just above a specified window...
Dana Jansens [Sun, 27 Jun 2010 13:38:50 +0000 (09:38 -0400)]
add stackabove test, that lets you move a client window just above a specified window in the stacking order

13 years ago80 cols
Dana Jansens [Sat, 26 Jun 2010 22:59:16 +0000 (00:59 +0200)]
80 cols

13 years agoContinue parsing contexts when an unsupported one is encountered
Mikael Magnusson [Sat, 26 Jun 2010 14:08:30 +0000 (16:08 +0200)]
Continue parsing contexts when an unsupported one is encountered

13 years agoMake the dock a context and add actions LowerDock and RaiseDock
Mikael Magnusson [Sat, 26 Jun 2010 13:55:40 +0000 (15:55 +0200)]
Make the dock a context and add actions LowerDock and RaiseDock

13 years agoMove usage of iconh into the branch that assigns it
Mikael Magnusson [Sat, 26 Jun 2010 11:55:39 +0000 (13:55 +0200)]
Move usage of iconh into the branch that assigns it

13 years agosettings can't be NULL here, or we'd have already crashed anyway
Mikael Magnusson [Sat, 26 Jun 2010 11:45:45 +0000 (13:45 +0200)]
settings can't be NULL here, or we'd have already crashed anyway

13 years agoUse a gsource instead of gio channels for watching x events
Mikael Magnusson [Fri, 25 Jun 2010 11:04:39 +0000 (13:04 +0200)]
Use a gsource instead of gio channels for watching x events

Fixes not getting some focusin events sometimes.

13 years agoobt returns libxml2 structures directly, so anyone linking against it better also...
Dana Jansens [Wed, 16 Jun 2010 17:25:39 +0000 (13:25 -0400)]
obt returns libxml2 structures directly, so anyone linking against it better also link to libxml2

13 years agoadd XFlush to g_timeout callbacks
Dana Jansens [Mon, 14 Jun 2010 17:52:21 +0000 (13:52 -0400)]
add XFlush to g_timeout callbacks

GMainLoop doesn't cause an flush to occur after handling a timeout.

13 years agoFix the EXTENTS reported on window frames.
Dana Jansens [Mon, 14 Jun 2010 16:15:02 +0000 (12:15 -0400)]
Fix the EXTENTS reported on window frames.

Change the order things are done on map, so we apply startup state without
  any states set first, thus getting all the functions possible for the window
  type etc.  then change the order states are applied, as some remove the
  ability to apply others (ie fullscreen comes last).
Add an oldsize to ObFrame that remembers the size of the frame last reported to
  the world through the EXTENTS property.  If you frame_adjust_area(FAKE) then
  frame_adjust_area(NONFAKE), the EXTENTS would not be updated since the
  oldsize wasn't remembered across fake updates.
Make the extentsrequest test ask about windows with states set also.

13 years agokeep stacking_list_tail a pointer to the tail of the stacking list
Dana Jansens [Wed, 9 Jun 2010 14:38:55 +0000 (10:38 -0400)]
keep stacking_list_tail a pointer to the tail of the stacking list

13 years agoallow a user to set "undecorated" on a window without decorations
Dana Jansens [Wed, 9 Jun 2010 13:31:06 +0000 (09:31 -0400)]
allow a user to set "undecorated" on a window without decorations

if not based on window type, the app may decide to have decorations again
sometime.  this was not always legal but chromium has made it so.

13 years agoadd an inotify watcher for directories (doesnt work without inotify yet)
Dana Jansens [Thu, 3 Jun 2010 20:08:18 +0000 (16:08 -0400)]
add an inotify watcher for directories (doesnt work without inotify yet)

13 years agoUse GMainLoop instead of ObtMainLoop
Dana Jansens [Tue, 8 Jun 2010 21:50:23 +0000 (17:50 -0400)]
Use GMainLoop instead of ObtMainLoop

13 years agosave the list of mime types listed as supported by an application
Dana Jansens [Thu, 3 Jun 2010 17:57:47 +0000 (13:57 -0400)]
save the list of mime types listed as supported by an application

13 years agoparse app Categories better. parse a list of strings into a gchar**
Dana Jansens [Thu, 3 Jun 2010 17:53:19 +0000 (13:53 -0400)]
parse app Categories better.  parse a list of strings into a gchar**

13 years agoparse Categories tag and save them as an array of GQuarks
Dana Jansens [Thu, 3 Jun 2010 17:09:38 +0000 (13:09 -0400)]
parse Categories tag and save them as an array of GQuarks

13 years agoimproved .desktop parsing.
Dana Jansens [Thu, 3 Jun 2010 16:10:54 +0000 (12:10 -0400)]
improved .desktop parsing.

properly (and quickly) check for existence of required keys
figure out what an app can open from its exec key
validate the %fields in an app's exec key

13 years agofree the user's group ids
Dana Jansens [Thu, 3 Jun 2010 15:58:13 +0000 (11:58 -0400)]
free the user's group ids

13 years agofree the path dirs
Dana Jansens [Thu, 3 Jun 2010 15:56:15 +0000 (11:56 -0400)]
free the path dirs

13 years agoparse Path, Terminal, and StartupNotify
Dana Jansens [Sat, 22 May 2010 00:10:34 +0000 (20:10 -0400)]
parse Path, Terminal, and StartupNotify

13 years agoparse OnlyShowIn/NotShowIn
Dana Jansens [Sat, 22 May 2010 00:03:21 +0000 (20:03 -0400)]
parse OnlyShowIn/NotShowIn

13 years agoallow new windows on other desktops to get focused if specified in a per-app rule
Dana Jansens [Fri, 21 May 2010 20:51:45 +0000 (16:51 -0400)]
allow new windows on other desktops to get focused if specified in a per-app rule

you can not client_active() with user=false and desktop=true and activate things on other desktops, by the general focus steal restrictions, if you wanted to do that sorta thing

13 years agoAllow sending windows on other desktops to the current desktop.
Mikael Magnusson [Thu, 6 Mar 2008 19:06:38 +0000 (20:06 +0100)]
Allow sending windows on other desktops to the current desktop.

13 years agoAdd some more conditions to the If action
Mikael Magnusson [Sat, 1 Mar 2008 15:42:06 +0000 (16:42 +0100)]
Add some more conditions to the If action

It can now match on window titles, virtual desktop (number, "current",
"other"),
demands_attention, and undecoratedness.

13 years agodon't need a force_reply when changing the decor for a window
Dana Jansens [Thu, 20 May 2010 01:27:40 +0000 (21:27 -0400)]
don't need a force_reply when changing the decor for a window

it will send a configurenotify if the client's rootwindow position changed

13 years agoclient_update_protocols() doesnt change anything that would affect a client's decor...
Dana Jansens [Thu, 20 May 2010 01:05:14 +0000 (21:05 -0400)]
client_update_protocols() doesnt change anything that would affect a client's decor or functions

13 years agoallows a window to unmax by resizing.
Dana Jansens [Tue, 18 May 2010 22:47:54 +0000 (18:47 -0400)]
allows a window to unmax by resizing.

makes "clever" use of the client's pre_max_area values to allow this to happen
without flashing, and preserving them in case the user cancels the resize
after it has become unmaximized.

13 years agoset the frame's initial size to something invalid so the extents hint will be
Dana Jansens [Wed, 19 May 2010 20:11:59 +0000 (16:11 -0400)]
set the frame's initial size to something invalid so the extents hint will be
set for sure the first time.

13 years agoset the interactive action to NULL before doing its cleanup phase
Dana Jansens [Tue, 18 May 2010 01:58:44 +0000 (21:58 -0400)]
set the interactive action to NULL before doing its cleanup phase

if the cleanup ends up cancelling the "current interactive action", it would
cause the end function to be called again, which sucks.  for instance if the
cleanup function uses the Focus action. this prevents the unwanted loop
into the interactive action cleanup.

13 years agofix focus when starting up, especially when replacing another instance of openbox
Dana Jansens [Tue, 18 May 2010 00:10:06 +0000 (20:10 -0400)]
fix focus when starting up, especially when replacing another instance of openbox

adds a function event_reset_time() that forces event_time() to look for a new (future) timestamp

13 years agoremove a debug print in the keyboard obt stuff
Dana Jansens [Mon, 17 May 2010 23:34:41 +0000 (19:34 -0400)]
remove a debug print in the keyboard obt stuff

13 years agoavoid new gcc warning (casting ** to const** is not valid for good reason)
Dana Jansens [Mon, 17 May 2010 23:04:06 +0000 (19:04 -0400)]
avoid new gcc warning (casting ** to const** is not valid for good reason)

13 years agomerge some contexts together in the default rc.xml mouse bindings
Dana Jansens [Mon, 17 May 2010 23:28:27 +0000 (19:28 -0400)]
merge some contexts together in the default rc.xml mouse bindings

13 years agoallow multiple contexts separated by space in a mouse binding
Dana Jansens [Fri, 14 May 2010 02:16:44 +0000 (22:16 -0400)]
allow multiple contexts separated by space in a mouse binding

example: context="Top Left Right Bottom"

13 years agoturn off focuslast and on undermouse in mouse focus config example
Dana Jansens [Thu, 13 May 2010 22:10:30 +0000 (18:10 -0400)]
turn off focuslast and on undermouse in mouse focus config example

13 years agoRemove some unneeded stdlib.h includes
Mikael Magnusson [Fri, 16 Apr 2010 06:37:42 +0000 (08:37 +0200)]
Remove some unneeded stdlib.h includes

13 years agoAdd support for using relative expressions in move and resize actions
Mikael Magnusson [Fri, 16 Apr 2010 16:04:24 +0000 (18:04 +0200)]
Add support for using relative expressions in move and resize actions

Have MoveResizeTo use config_parse_gravity_coord instead of duplicating it locally
Allow MoveResizeTo positions and sizes and per app positions to be relative to screen size
Rename to config_parse_relative_number so it can be used for sizes too
Add relative numbers to width/height in MoveResizeTo
Add relative numbers to MoveRelative
Add relative numbers to ResizeRelative, these are for the client size, not screen size

13 years agonew enum values need to be handled in switches
Dana Jansens [Mon, 17 May 2010 22:39:55 +0000 (18:39 -0400)]
new enum values need to be handled in switches

(the new enum values were added to count the number of entries in the enums)

13 years agofix typo in enum
Dana Jansens [Mon, 17 May 2010 22:39:22 +0000 (18:39 -0400)]
fix typo in enum

13 years agoadd _NUM_TYPES to obrender enums, to allow enumeration of the enum values
Derek Foreman [Thu, 13 May 2010 19:10:02 +0000 (15:10 -0400)]
add _NUM_TYPES to obrender enums, to allow enumeration of the enum values

13 years agoshow empty properties in obxprop
Dana Jansens [Wed, 12 May 2010 03:43:29 +0000 (23:43 -0400)]
show empty properties in obxprop

13 years agoparse number values write in a hex string in obxprop
Dana Jansens [Wed, 12 May 2010 03:31:03 +0000 (23:31 -0400)]
parse number values write in a hex string in obxprop

13 years agoadvance while parsing a hex input in obxprop
Dana Jansens [Wed, 12 May 2010 03:29:18 +0000 (23:29 -0400)]
advance while parsing a hex input in obxprop

13 years agoadd cleanup functions to the client list menus that removes everything from them...
Dana Jansens [Tue, 11 May 2010 23:01:46 +0000 (19:01 -0400)]
add cleanup functions to the client list menus that removes everything from them when they are not being shown (saves iterating thru the list uselessly when a client is unmanaged)

13 years agoadd cleanup function for menus that fires when the menu is no longer visible
Dana Jansens [Tue, 11 May 2010 23:01:33 +0000 (19:01 -0400)]
add cleanup function for menus that fires when the menu is no longer visible

13 years agodon't try go to selected submenu when there is nothing selected
Dana Jansens [Thu, 29 Apr 2010 20:11:17 +0000 (16:11 -0400)]
don't try go to selected submenu when there is nothing selected

13 years agouse clicks in prompts
Dana Jansens [Thu, 29 Apr 2010 02:05:06 +0000 (22:05 -0400)]
use clicks in prompts

13 years agoadd a test to set a mouse cursor on an InputOnly subwindow
Dana Jansens [Wed, 28 Apr 2010 18:47:13 +0000 (14:47 -0400)]
add a test to set a mouse cursor on an InputOnly subwindow

13 years agofix XSYNCronization of resizes (especially with two monitors).
Dana Jansens [Tue, 27 Apr 2010 22:45:22 +0000 (18:45 -0400)]
fix XSYNCronization of resizes (especially with two monitors).

1) a ConfigureNotify must always follow a Sync notification
2) determine the final size of the window with its position else struts are not applied properly for (partly) maximized windows
3) set the sync counter to a value when managing a new window

13 years agomake sure clients stay on screen when the root window changes size, and maximized...
Dana Jansens [Tue, 27 Apr 2010 21:24:51 +0000 (17:24 -0400)]
make sure clients stay on screen when the root window changes size, and maximized/fullscreen windows must be on some monitor or it doesn't make much sense (and asserts)

13 years agoRemove two unused variables
Mikael Magnusson [Tue, 27 Apr 2010 14:41:06 +0000 (16:41 +0200)]
Remove two unused variables

Remains from 64adc0eeba598cb1469b2140777fba30e3053f0e

13 years agofound memory corruption in the obt xqueue and paths
Dana Jansens [Wed, 28 Apr 2010 14:59:42 +0000 (10:59 -0400)]
found memory corruption in the obt xqueue and paths

13 years agomake an event queue for X events. the queue's min size is 16 XEvents (~3k)
Dana Jansens [Wed, 28 Apr 2010 16:57:51 +0000 (12:57 -0400)]
make an event queue for X events.  the queue's min size is 16 XEvents (~3k)

13 years agodon't put reparent events back on the stack. the window is no longer being managed...
Dana Jansens [Fri, 23 Apr 2010 15:57:26 +0000 (11:57 -0400)]
don't put reparent events back on the stack.  the window is no longer being managed anyways.  and it messes up the order of events in the queue

13 years agoputting events on the event queue does not send them back to the server. it was...
Dana Jansens [Fri, 23 Apr 2010 15:54:09 +0000 (11:54 -0400)]
putting events on the event queue does not send them back to the server.  it was just going to get ignored the next time around cuz the window wouldnt be in our list of clients

13 years agodon't use XPutBackEvent and mess up timestamp order in the event queue
Dana Jansens [Fri, 23 Apr 2010 15:50:24 +0000 (11:50 -0400)]
don't use XPutBackEvent and mess up timestamp order in the event queue

13 years agoadd asserts to make sure we don't add things to stacking list that are not managed
Dana Jansens [Tue, 20 Apr 2010 19:22:58 +0000 (15:22 -0400)]
add asserts to make sure we don't add things to stacking list that are not managed

13 years agodon't change stacking stuff on windows when moving them during the unmanage phase.
Dana Jansens [Tue, 20 Apr 2010 19:20:46 +0000 (15:20 -0400)]
don't change stacking stuff on windows when moving them during the unmanage phase.

14 years agoevent_curtime is replaced (publicly) by event_time()
Dana Jansens [Sat, 17 Apr 2010 02:23:37 +0000 (22:23 -0400)]
event_curtime is replaced (publicly) by event_time()

This function never returns CurrentTime, which is nice, cuz using CurrentTime for XSetFocus always sucks.

If the current XEvent did not have a timestamp, then event_time() will find one.  It finds the first timestamp available in the X event queue, meaning the earliest timestamp >= the current (nontimestamped) event. All future events should have a timestamp >= event_time(), so using this in XSetFocus() should not mess up any future calls we make to it.

This change seems to work well, as it appears to fix bug #3648.

14 years agoWhen determining the current timestamp, try get something a lil more accurate
Dana Jansens [Sat, 17 Apr 2010 01:19:50 +0000 (21:19 -0400)]
When determining the current timestamp, try get something a lil more accurate

Get the first timestamp from the event queue, rather than (potentially) the
  last.
also treat it as the actual event_curtime, meaning it is used when focusing a
  newly mapped window etc.

14 years agowhen client removes its transient_for hint, don't keep the window as transient for...
Dana Jansens [Sat, 17 Apr 2010 00:35:04 +0000 (20:35 -0400)]
when client removes its transient_for hint, don't keep the window as transient for the group when it shouldn't be (fixes bug #4586)

14 years agoallow warping the mouse pointer when switching desktops by bumping into the edge...
Dana Jansens [Fri, 16 Apr 2010 22:55:33 +0000 (18:55 -0400)]
allow warping the mouse pointer when switching desktops by bumping into the edge of the monitor with a window

based on a patch by Nathaniel Gephart <computinchuck@gmail.com>

14 years agoshow the focus cycle popup's icons in linear order when cycling in linear order ...
Dana Jansens [Fri, 16 Apr 2010 22:41:08 +0000 (18:41 -0400)]
show the focus cycle popup's icons in linear order when cycling in linear order (bug #2319)