Commit graph

7343 commits

Author SHA1 Message Date
Dana Jansens
a8843b58c5 update the last user interaction timestamp during a move/resize of the focused window 2011-01-24 14:19:22 -05:00
Dana Jansens
5ff0d07aba 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)
2011-01-24 14:19:22 -05:00
Dana Jansens
d614bebf6a don't steal focus from a window if it was used very recently, when someone uses _NET_ACTIVE request. 2011-01-24 14:19:22 -05:00
Dana Jansens
e737150701 mem leak in config.c 2011-01-24 14:19:22 -05:00
Dana Jansens
001f174cf5 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.
2011-01-24 14:19:22 -05:00
Mikael Magnusson
f458d66c7e Use >= instead of > when comparing timestamps, or we will ignore some events 2011-01-24 14:19:22 -05:00
Dana Jansens
b1fc19711f add some tests for obt pieces (binary search, .desktop parsking, linkbase, and inotify watch) 2011-01-24 14:19:22 -05:00
Dana Jansens
7eeae03f06 oops, crash if searching for something smaller than * in the array 2011-01-24 14:19:22 -05:00
Dana Jansens
d3660704f1 less redundant calls to screen_update_areas() and client_move_onscreen() 2011-01-24 14:19:22 -05:00
Mikael Magnusson
6f92931f84 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.
2011-01-24 14:19:22 -05:00
Mikael Magnusson
6d0f44e1d1 Use g_list_find instead of weird bouncing loops 2011-01-24 14:19:22 -05:00
Dana Jansens
3ff4162034 Parse multiple keys in one keybind 2011-01-24 14:19:22 -05:00
Dana Jansens
36a437a702 allow the res_class in WM_CLASS to mark a window as a dock app, if it is set to the string "DockApp" 2011-01-24 14:19:21 -05:00
Mikael Magnusson
194bb32cf6 Don't hog the user during the hideDelay 2011-01-24 14:19:21 -05:00
Dana Jansens
5d5714f01e 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.
2011-01-24 14:19:21 -05:00
Dana Jansens
d3d96b572a Revert "add an inotify watcher for directories (doesnt work without inotify yet)"
This reverts commit c36b89ba12.
2011-01-24 14:18:09 -05:00
Dana Jansens
27ae9d65c8 fix make distcheck 2010-10-04 17:36:08 -04:00
Dana Jansens
2813d2c161 glib can't handle -Wcast-qual 2010-09-16 14:52:09 -04:00
Dana Jansens
d81f94bf8b add wmhints test that toggles motif decor hints on a mapped window 2010-09-16 13:50:37 -04:00
Mikael Magnusson
9fcf466aeb Fix a double free when you have a mousebind without a button attribute
Introduced in f307a3feab
2010-09-16 17:24:12 +02:00
Mikael Magnusson
670ff8b4b8 Fix a copypasto that broke interactive keybinds with meta and hyper keys 2010-09-16 17:24:12 +02:00
Dana Jansens
624ffe397b Revert "add XFlush to g_timeout callbacks"
This reverts commit aa3685d16a.

Mika's commit using a GSource to handle X Events fixes this problem, so this
commit is not needed
2010-09-16 17:24:12 +02:00
Mikael Magnusson
179312f9ae Fix 3.4 compatibility for SendToDesktop 2010-09-16 17:24:11 +02:00
Mikael Magnusson
eafcc06030 Correct typo occured -> occurred in function name 2010-09-16 17:24:11 +02:00
Dana Jansens
1666d285d7 Add signal handling with the GMainLoop
Provided through a very simplistic interface in obt, found in the
 obt/signal.[ch] files
2010-09-16 17:24:11 +02:00
Dana Jansens
b79b70620f add stackabove test, that lets you move a client window just above a specified window in the stacking order 2010-09-16 17:24:11 +02:00
Dana Jansens
6865e538a3 80 cols 2010-09-16 17:24:11 +02:00
Mikael Magnusson
a4a5fc866d Continue parsing contexts when an unsupported one is encountered 2010-09-16 17:24:11 +02:00
Mikael Magnusson
1ffc002132 Make the dock a context and add actions LowerDock and RaiseDock 2010-09-16 17:24:11 +02:00
Mikael Magnusson
48d36cd587 Move usage of iconh into the branch that assigns it 2010-06-26 13:55:41 +02:00
Mikael Magnusson
128909214a settings can't be NULL here, or we'd have already crashed anyway 2010-06-26 13:46:55 +02:00
Mikael Magnusson
a1bb01c92e Use a gsource instead of gio channels for watching x events
Fixes not getting some focusin events sometimes.
2010-06-25 13:08:00 +02:00
Dana Jansens
de7c3f466f obt returns libxml2 structures directly, so anyone linking against it better also link to libxml2 2010-06-16 13:26:11 -04:00
Dana Jansens
aa3685d16a add XFlush to g_timeout callbacks
GMainLoop doesn't cause an flush to occur after handling a timeout.
2010-06-14 13:52:21 -04:00
Dana Jansens
79cf72d17f 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.
2010-06-14 12:40:15 -04:00
Dana Jansens
e1a51bdf10 keep stacking_list_tail a pointer to the tail of the stacking list 2010-06-14 12:19:01 -04:00
Dana Jansens
6d95e2441a 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.
2010-06-14 12:19:01 -04:00
Dana Jansens
c36b89ba12 add an inotify watcher for directories (doesnt work without inotify yet) 2010-06-14 12:19:01 -04:00
Dana Jansens
fd77a0a7b3 Use GMainLoop instead of ObtMainLoop 2010-06-14 12:19:01 -04:00
Dana Jansens
2e94af28e4 save the list of mime types listed as supported by an application 2010-06-03 13:57:47 -04:00
Dana Jansens
b025a0268f parse app Categories better. parse a list of strings into a gchar** 2010-06-03 13:53:19 -04:00
Dana Jansens
78a8f407a9 parse Categories tag and save them as an array of GQuarks 2010-06-03 13:09:38 -04:00
Dana Jansens
a6141fe7a4 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
2010-06-03 12:10:54 -04:00
Dana Jansens
d9d65b7385 free the user's group ids 2010-06-03 11:58:13 -04:00
Dana Jansens
19e051a466 free the path dirs 2010-06-03 11:56:15 -04:00
Dana Jansens
475961e17f parse Path, Terminal, and StartupNotify 2010-05-21 20:10:34 -04:00
Dana Jansens
0c8c9caba6 parse OnlyShowIn/NotShowIn 2010-05-21 20:03:21 -04:00
Dana Jansens
632eb08227 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
2010-05-21 16:56:09 -04:00
Mikael Magnusson
fa39954c9d Allow sending windows on other desktops to the current desktop. 2010-05-20 17:19:05 -04:00
Mikael Magnusson
46ca54fd81 Add some more conditions to the If action
It can now match on window titles, virtual desktop (number, "current",
"other"),
demands_attention, and undecoratedness.
2010-05-20 16:19:21 -04:00