Commit graph

7233 commits

Author SHA1 Message Date
Dana Jansens
09d1d0434b turn off focuslast and on undermouse in mouse focus config example 2010-05-17 19:31:21 -04:00
Mikael Magnusson
3374fb2a88 Remove some unneeded stdlib.h includes 2010-05-17 19:31:21 -04:00
Mikael Magnusson
7a679dd198 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
2010-05-17 19:31:21 -04:00
Dana Jansens
1c637efcbb new enum values need to be handled in switches
(the new enum values were added to count the number of entries in the enums)
2010-05-17 19:31:21 -04:00
Dana Jansens
925e4c5979 fix typo in enum 2010-05-17 19:31:21 -04:00
Derek Foreman
48ad5f6ccd add _NUM_TYPES to obrender enums, to allow enumeration of the enum values 2010-05-13 15:10:02 -04:00
Dana Jansens
87443c956c show empty properties in obxprop 2010-05-11 23:43:29 -04:00
Dana Jansens
dd623f5b2f parse number values write in a hex string in obxprop 2010-05-11 23:31:03 -04:00
Dana Jansens
013df404a8 advance while parsing a hex input in obxprop 2010-05-11 23:29:18 -04:00
Dana Jansens
6e799ad40d 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) 2010-05-11 19:01:46 -04:00
Dana Jansens
3fd74abb3c add cleanup function for menus that fires when the menu is no longer visible 2010-05-11 19:01:33 -04:00
Dana Jansens
523a726c6c don't try go to selected submenu when there is nothing selected 2010-04-29 16:14:16 -04:00
Dana Jansens
b9b0284e3e use clicks in prompts 2010-04-28 22:05:44 -04:00
Dana Jansens
cce78e08bb add a test to set a mouse cursor on an InputOnly subwindow 2010-04-28 14:47:13 -04:00
Dana Jansens
0d98c4fa7c 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
2010-04-28 12:58:46 -04:00
Dana Jansens
b3023ac55b 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) 2010-04-28 12:58:46 -04:00
Mikael Magnusson
145d526df4 Remove two unused variables
Remains from 64adc0eeba
2010-04-28 12:58:45 -04:00
Dana Jansens
5e424b81d2 found memory corruption in the obt xqueue and paths 2010-04-28 12:58:45 -04:00
Dana Jansens
55b84316bb make an event queue for X events. the queue's min size is 16 XEvents (~3k) 2010-04-28 12:58:42 -04:00
Dana Jansens
029628087f 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 2010-04-23 11:57:26 -04:00
Dana Jansens
f6e423399d 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 2010-04-23 11:54:09 -04:00
Dana Jansens
bb97a20777 don't use XPutBackEvent and mess up timestamp order in the event queue 2010-04-23 11:50:24 -04:00
Dana Jansens
72fe65fd22 add asserts to make sure we don't add things to stacking list that are not managed 2010-04-20 15:22:58 -04:00
Dana Jansens
a16449adb6 don't change stacking stuff on windows when moving them during the unmanage phase. 2010-04-20 15:20:46 -04:00
Dana Jansens
197ee0ad47 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.
2010-04-16 22:23:37 -04:00
Dana Jansens
171e476ba3 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.
2010-04-16 21:32:38 -04:00
Dana Jansens
550e961c0e 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) 2010-04-16 21:32:38 -04:00
Dana Jansens
77ee361f5c 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>
2010-04-16 21:32:38 -04:00
Dana Jansens
b05ac359b8 show the focus cycle popup's icons in linear order when cycling in linear order (bug #2319) 2010-04-16 21:32:37 -04:00
Dana Jansens
56fface3a4 add an option to next/previous window to only include hilited/flashing/urgent windows (feature req/bug #4341) 2010-04-16 21:32:31 -04:00
Mikael Magnusson
fde5d8601a Link libobrender, not openbox, to imlib2 2010-04-16 20:56:27 +02:00
Dana Jansens
3997d7aef5 add some comments for binary search 2010-04-16 20:56:27 +02:00
Dana Jansens
3afa20de54 stat() can give an error, handle that 2010-04-16 20:56:24 +02:00
Dana Jansens
34178097d5 use const Rect* not Rect const* 2010-04-16 11:37:21 -04:00
Dana Jansens
262591ec1a add BSEARCH() macros in obt/bsearch.h that to a binary search on an array, use it when searching for a group in obt_paths_try_exec() 2010-03-29 23:24:15 -04:00
Dana Jansens
3121146ecc parse some of the .desktop stuff into an ObtLink structure
localized names still don't work.
most of the app-specific stuff isn't done yet.
categories aren't handled yet (to only show in/not show in some category)
2010-03-29 22:38:05 -04:00
Dana Jansens
67bed35b7c add obt_paths_try_exec() that will see if an executable exists 2010-03-29 22:32:07 -04:00
Dana Jansens
d356058237 save the LC_MESSAGES locale category 2010-03-29 21:22:19 -04:00
Dana Jansens
d826971d72 if a launch time isnt there (like for client_activate) assume the window launched before the last desktop switch, not after. ie don't change desktops if you're not sure. 2010-03-29 20:37:20 -04:00
Dana Jansens
e7d5ef8418 make keypad enter do the same thing as return 2010-03-25 22:18:37 -04:00
Dana Jansens
11bb31d3bc figure out what type the value should be for each known .desktop key, and watch for invalid keys 2010-03-25 22:04:48 -04:00
Dana Jansens
0d90bd57ab Add a new ObtLink type, which is going to be a generalization of a .desktop entry.
Move the .desktop file parsing details into obt/ddparse.c, which generates
  some hash tables holding the data of the file.
Add a new obt/link.c which will build an ObtLink from a parsed .desktop file,
  and may support other ways to create these links in the unforseeable future
2010-03-25 21:11:15 -04:00
Dana Jansens
fbc0597d3f ignore the rendertest executable 2010-03-25 21:09:20 -04:00
Dana Jansens
1ea83ccff1 ignore generated autostart script 2010-03-25 21:08:55 -04:00
Dana Jansens
749d6f0938 save key values based on their value, but we dont know what values they have yet 2010-03-25 19:31:57 -04:00
Dana Jansens
a1fa5dca08 add an empty function to parse the Desktop Entry group in a .desktop file 2010-03-25 18:11:13 -04:00
Dana Jansens
00fb4d392f parse key/value pairs from the .desktop file and save them in a hashtable 2010-03-25 18:11:13 -04:00
Dana Jansens
448cc6620e close the .desktop file after parsing it 2010-03-25 18:11:13 -04:00
Dana Jansens
159a3cb3b1 free the path after done with it 2010-03-25 18:11:13 -04:00
Dana Jansens
4e70343b3e g_warning adds a \n 2010-03-25 18:11:13 -04:00