Commit graph

668 commits

Author SHA1 Message Date
Dana Jansens
f6b19a1dc4 return true when ungrabbing so that it can ungrab them all on shutdown 2003-06-26 23:33:29 +00:00
Dana Jansens
81cf4699df set ret to true when grabbing and we alerady have it grabbed 2003-06-26 23:31:20 +00:00
Dana Jansens
22112d2b4e check that extensions_vidmode is set before trying to use the vidmode functions 2003-06-26 16:32:40 +00:00
Dana Jansens
d3dd25a55c return FALSE if a grab fails 2003-06-26 07:58:25 +00:00
Dana Jansens
da24f9156b set the desktop hint when the window already has a hint but its out of range 2003-06-26 07:30:19 +00:00
Dana Jansens
0423b057ed clear the over item in the menu when executing shit 2003-06-26 07:22:29 +00:00
Dana Jansens
9c8ee186d9 add NUM_STACKLAYER, fix some comments that dont apply 2003-06-26 07:08:16 +00:00
Dana Jansens
0443796e40 remove unused variable 2003-06-26 07:07:59 +00:00
Dana Jansens
ba76ffaa2b remove/add instead of raising to put a window into a new layer 2003-06-26 07:07:42 +00:00
Dana Jansens
794ce0e083 new stacking code that doesnt suck ass to look at, woot 2003-06-26 07:05:27 +00:00
Dana Jansens
e39762b05b use the minsize to keep the stuff ni the dock off of the bevel edges etc 2003-06-26 05:46:06 +00:00
Dana Jansens
549627402c only render if there was an over existing 2003-06-25 18:46:51 +00:00
Dana Jansens
7af1c6a9c3 menus grab the keyboard and pointer, thus making only one menu visible at a time, and making them act like gtk menus and * menus do, where you can click and drag and release to select something as well as click-release to elave it open while you search around the menu 2003-06-25 18:43:42 +00:00
Dana Jansens
4b90b241ce grab all motion events for pointer grabs 2003-06-25 18:34:28 +00:00
Dana Jansens
a385702349 position submenus correctly horizontally 2003-06-24 19:33:24 +00:00
Dana Jansens
b61a41c6b1 menus were too short by a border width 2003-06-24 19:22:41 +00:00
Dana Jansens
6dd3ee7271 check to make sure the window is on screen *after* positioning it 2003-06-24 19:19:06 +00:00
Dana Jansens
76aeb9b231 add a simple menu parser.
while menu parsing, the theme does not exist so we can't do any theme stuff while creating menu stuff, so put that off for later, i.e when the menu is shown.
2003-06-22 08:32:35 +00:00
Dana Jansens
197988af67 reorder startup so menu goes before config parsing 2003-06-22 08:29:40 +00:00
Dana Jansens
069e9607fa add decoration state to the frame struct. make client_configure adjust the frame if the decorations do not match between the client and the frame, so that when they change it can send a configurenotify to the client. 2003-06-21 18:59:35 +00:00
Dana Jansens
d085756572 make client_reconfigure a non-user-type client_configure 2003-06-21 18:29:42 +00:00
Dana Jansens
75b23047d6 strdup the exec path cuz it gets freed by the time we restart otherwise 2003-06-21 18:14:42 +00:00
Dana Jansens
77062863f3 moveresize messages are not user-requests 2003-06-21 18:10:04 +00:00
Dana Jansens
7e83fa0866 remove debug print 2003-06-21 18:08:26 +00:00
Dana Jansens
716477fc40 send teh configure event to client on user-requested final configures even if not moved, cuz usualy the final isnt sent with a change, but just to end the move process. 2003-06-21 17:28:36 +00:00
Dana Jansens
bab8b41f5c always use the session id from the session manager when setting the restart property 2003-06-21 16:37:39 +00:00
Dana Jansens
4cf23f53e7 add -sm-disable option 2003-06-21 09:51:15 +00:00
Dana Jansens
7f2550e0ce only show -sm-client-id in the help when session management is build in 2003-06-21 09:40:15 +00:00
Dana Jansens
e6739af282 session management works, and it can resume with its old ID, so it works with gnome-session 2003-06-21 09:38:51 +00:00
Dana Jansens
373a4584d6 make session management optional 2003-06-21 08:45:25 +00:00
Dana Jansens
9befe65a65 set the required properties so that session managers see openbox 2003-06-21 08:03:56 +00:00
Dana Jansens
b3e9fea103 add libSM *client* support, so we should work with gnome-session now! 2003-06-21 05:31:54 +00:00
Dana Jansens
c100b72c5d more namespacing with Rr* 2003-06-21 02:26:50 +00:00
Dana Jansens
4541959b8c kill a warning 2003-06-21 02:24:18 +00:00
Dana Jansens
dbe2851b91 more namespacing to Rr* 2003-06-21 02:15:13 +00:00
Dana Jansens
10232a436a fix a warning 2003-06-21 02:14:53 +00:00
Dana Jansens
092616de9a rename pixel32/16 to RrPixel32/16 2003-06-21 02:00:42 +00:00
Dana Jansens
b1f5555218 put the render theme into a struct 2003-06-21 01:53:26 +00:00
Dana Jansens
a4a0cb7829 fixed to accomodate the changes to the render/ API. 2003-06-21 00:42:47 +00:00
Dana Jansens
cd12a2eae5 simply the render interface by not requiring the setting of all the areas. only take a w and h in paint(). best font layout ever. 2003-06-20 02:17:23 +00:00
Dana Jansens
6e93be1d2e remove non-planar surfaces 2003-06-20 00:05:51 +00:00
Dana Jansens
36231e5cb3 fix for how base-size is used to comply with the icccm 2003-06-19 17:14:16 +00:00
Dana Jansens
8a8f2c831f remove an extra useless call to focus_set_client(NULL) 2003-06-08 23:25:21 +00:00
Dana Jansens
7cbac3c4d5 describe the complicated if a bit :) 2003-06-08 22:38:31 +00:00
Dana Jansens
07539c38c8 more checks for when to do an XResizeWindow 2003-06-08 22:37:31 +00:00
Dana Jansens
43d109dd06 send the configure notify for resizes too, just to be a little more safe 2003-06-08 22:30:55 +00:00
Dana Jansens
ddeb066ed4 onlt send configurenotify if the client actually moved, to work around emacs, hopefully :) 2003-06-08 22:28:32 +00:00
Dana Jansens
05e52e3c8e some more fixes for resizing clients. aspect ratio is not the last thing checked and so rules all, that might need to change.. however, it now uses base-size only for aspect ratios and base-size/min-size for other sizing shit, as per the ICCCM. 2003-06-08 21:38:06 +00:00
Dana Jansens
bda9e6aaf9 from icccm:
If a base size is not provided, the minimum size is to be used in its place and vice versa.

Added support for this.
2003-06-08 21:21:23 +00:00
Dana Jansens
ac4e6784dd i was backwards 2003-06-08 01:20:13 +00:00
Dana Jansens
7c13920066 this cnofigure is FINAL! 2003-06-08 01:18:51 +00:00
Dana Jansens
5b3d5bda24 don't resize the client itself while doing a resize if its not final when config_opaque_resize is not on 2003-06-08 01:01:13 +00:00
Dana Jansens
f7de8e5a59 better VIDMODE support, handle the cases where the functions fail 2003-06-04 23:21:51 +00:00
Dana Jansens
abd8ec3c2e size fullscreen applications to the resolution with the VIDMODE extension 2003-06-04 23:19:06 +00:00
Dana Jansens
68cc6e30b8 remove the client_remaximize function, and replace it with the client_reconfigure function, which just calls client_configure with the window's current location and dimensions, user=TRUE and final=TRUE.
add support for the VIDMODE extension in client_configure, namely, fullscreen windows are positioned at the point of the viewport rather than at 0,0.
call client_reconfigure when uniconifying a window, so that fullscreen windows are put at the point of the view port.
2003-06-04 23:11:26 +00:00
Dana Jansens
795d90c3bc make key grabbing per window instead of always root 2003-06-04 22:45:54 +00:00
Dana Jansens
8a1fa6d3ac allow cycling to iconic windows 2003-06-04 19:30:35 +00:00
Dana Jansens
c6fd3aa890 use client_can_focus from client_focus to always get the same result 2003-06-04 19:24:37 +00:00
Dana Jansens
4cb48bebb5 reverting the transient focus cycle change, its just not.. right. add the parent's title to the transient's for the popup instead of just relpacing it 2003-06-04 18:22:19 +00:00
Dana Jansens
1139d96e7f better focus cycling for transients. use the parent instead of the transients in the list in case it has more than one, then after choosing it try focus a transient instead 2003-06-04 17:33:20 +00:00
Dana Jansens
0ce054c2b5 dont try change focus while looping thru the focus list 2003-06-04 17:17:55 +00:00
Dana Jansens
e0fa57d21c allow focus_fallback to query if a client can be focused without changing the focus order on it 2003-06-04 17:16:50 +00:00
Dana Jansens
f827fbcaee remove debug print 2003-06-03 05:17:32 +00:00
Dana Jansens
70a34967d6 ignore xerrors while using the pixmaps specified by the client, since they can certainly be invalid and there's nothing i can do about it. 2003-06-03 04:52:54 +00:00
Dana Jansens
f7b687487c rm g_messages.. ones that segfault.. :> 2003-06-03 01:54:31 +00:00
Dana Jansens
5a8c164412 also dont increment the nicons if the w*h is 0 2003-06-02 23:16:50 +00:00
Dana Jansens
754391ea4d watch out for 0x0 icons, and skip them 2003-06-02 23:10:27 +00:00
Dana Jansens
365a9fbb69 adjust what gets raised on map a bit, a little less selective. 2003-05-30 18:16:33 +00:00
Dana Jansens
3424de66b2 only add non-nonintrusively when both windows share a stacking layer 2003-05-29 15:24:56 +00:00
Dana Jansens
2e824eece1 rm the 'focusraise' action, it is redundant. 2003-05-28 23:50:43 +00:00
Dana Jansens
b7780b749f proper centering of the text in popups without icons 2003-05-28 01:40:21 +00:00
Dana Jansens
4b2ec0d03c use frame->visible, not the desktop number, other states exist too, like show_desktop 2003-05-26 18:39:48 +00:00
Dana Jansens
d1e355de2c this is a big one! im putting stats in here just cuz!
59 files changed, 1691 insertions(+), 607 deletions(-)
Adding the beginings of ObConf. Adding a resistance-config plugin for ObConf.
Creating an obparser library that obrender can use, the kernel can use, plugins can use, and ObConf and its plugins can use. (its just code for using libXml2)
2003-05-24 21:47:06 +00:00
Dana Jansens
3753a0ed3e convert shit from utf8 to filename before execing it 2003-05-24 16:15:29 +00:00
Dana Jansens
d2857b1194 ECKS EM ELL 2003-05-24 15:35:26 +00:00
Dana Jansens
75e691a2a5 add actions for showing the desktop 2003-05-24 09:22:19 +00:00
Dana Jansens
e483257007 soem changes to desktop actions.
instead of having *wrap actions, just default to having wrap on, and let it be optionally placed into the rc to disable it.
instead of next/prev desktop, just have actions for desktop to the right/left/up/down. this applies to sendtodesktop actions too.
2003-05-24 09:11:42 +00:00
Dana Jansens
26ebe251a9 add a DEBUG_FOCUS print 2003-05-24 08:39:14 +00:00
Dana Jansens
dc7a267af0 there's this case where we DONT want to ignore both events or we end up without anything we know of being focused, even tho something is. this case is now covered. ps i hate focus so much. 2003-05-24 08:38:37 +00:00
Dana Jansens
a373b1582e use the user friendly desktop number 2003-05-24 08:37:21 +00:00
Dana Jansens
cd54e31a59 clarify comment 2003-05-24 08:10:28 +00:00
Dana Jansens
b1fe0dbbc2 dont refocus the focused window, that just causes so many problems (with alt-tab :) 2003-05-23 20:17:22 +00:00
Dana Jansens
f68eb1fc25 validate utf8 strings before using them 2003-05-23 18:56:33 +00:00
Dana Jansens
f54e8c9ba0 add --enable-gl support, and put the flags/libs in the appropriate makefiles 2003-05-23 05:30:00 +00:00
Dana Jansens
a83b590ff6 remove a todo item that seems to be.. done! 2003-05-23 02:03:40 +00:00
Dana Jansens
b69473054b missed a case of using the stacking list and assuming that its all clients still. fixed that assumption now. 2003-05-23 02:00:54 +00:00
Dana Jansens
493e7d4a6e ignore ancestor FocusIn events. i get them sometimes when hitting alt-tab and that totally fucks it up cuz it cancels teh alt-tab process. 2003-05-23 01:27:46 +00:00
Dana Jansens
d3980aa459 only button 1 can use menu items 2003-05-22 21:33:44 +00:00
Dana Jansens
3669da9cdd a missing break! 2003-05-22 05:23:41 +00:00
Scott Moynes
04a85677e5 layers submenu on client 2003-05-22 02:49:08 +00:00
Dana Jansens
4d814a383b add actions for changing client layers to abov/below/normal 2003-05-22 02:22:43 +00:00
Dana Jansens
d6cb5adbea typo 2003-05-22 02:05:38 +00:00
Dana Jansens
68eba18b76 load the client_menu by default for nowc 2003-05-22 01:46:49 +00:00
Scott Moynes
71d2605e1c Client menus
Add "client_menu" to pluginrc to use.
2003-05-21 23:58:40 +00:00
Dana Jansens
7da6e2271e add 'movetoedge' actions 2003-05-21 03:58:32 +00:00
Dana Jansens
9f501638b5 add xerror.h 2003-05-21 03:56:56 +00:00
Dana Jansens
539f061b30 Openbox3 in the WM name, FUCK OFF XINE, YA YOU HEARD ME. 2003-05-21 03:27:10 +00:00
Dana Jansens
32390c6b6d ignore errors when playing with application defined colormaps 2003-05-20 05:02:24 +00:00
Dana Jansens
ea6d0e0d4d get the size for all the apps before positioning them 2003-05-19 20:27:11 +00:00
Dana Jansens
40f2e19ef4 set teh dock sizes before the app uses it for positioning 2003-05-19 20:18:46 +00:00
Dana Jansens
135d6d7bdc center dock apps 2003-05-19 20:17:17 +00:00
Dana Jansens
81417dd344 use the resize increment when resizing relative 2003-05-19 04:13:06 +00:00
Dana Jansens
5a7953b36a 2 in 1 again..
a) directional focus actions
b) action system changes i.e. use structs/arrays for convertings strings to actions instead of gross if-else chains
2003-05-19 03:52:25 +00:00
Scott Moynes
00960995a2 Added a fifo_menu plugin 2003-05-18 23:36:13 +00:00
Dana Jansens
a18c1697b1 make icons use pixel32 data, and image_draw takes pixel32 data.
client.c gets pixmap icons as a backup to netwm ones, and they are converted into pixel32 data.
2003-05-18 23:06:11 +00:00
Dana Jansens
f41d06f583 include grab.h 2003-05-18 23:05:06 +00:00
Scott Moynes
d8921eb3d2 this is actually xor :) - fixing the focus search function to not return NULL if no valid group members exist to be a transient for 2003-05-18 17:49:17 +00:00
Dana Jansens
cea19c78c1 proper check to see if something was raised, the it==NULL would cause it to always return, incorrectly. 2003-05-18 17:37:03 +00:00
Dana Jansens
993fc6226d 2 in 1 deal :\
client.c stacking.c: fixing looping transient case for group transient windows. now a window which is transient for a group is *not* transient for any other transient windows in the group (perviously the other window had to be transient for the group to be excluded, now it can be transient for anything).

client.c/h event.c render.c/h: adjustnig icon handling a bit. will be converting the legacy pixmap icons into rgba data so they can be handled the same as netwm icons.
2003-05-18 17:09:55 +00:00
Dana Jansens
ac779e65ac grab the mouse during focus cycling. this removes the bug of focusing following the mouse when the popup disappears and fuck up your cycling. 2003-05-18 03:32:34 +00:00
Dana Jansens
2b2beddc74 add (optional) support for showing a busy cursor via startup notification 2003-05-18 02:10:26 +00:00
Dana Jansens
f6b61bb60e disallow drag events on title buttons.
dont redraw title button when the wheel buttons are used on them.
2003-05-17 15:16:45 +00:00
Dana Jansens
0b5f6589ba print the class not the name 2003-05-16 21:34:00 +00:00
Dana Jansens
f8bbe46bce get all the strings! 2003-05-16 21:32:42 +00:00
Dana Jansens
f17b225daa save the dock's class/name for future evil purposes!
also print names of windows being managed/unmanaged
2003-05-16 20:20:33 +00:00
Dana Jansens
d9e1eb0cbe FUCK dock is not an array anymore! 2003-05-16 19:32:22 +00:00
Dana Jansens
7a166a3838 give the dock a strut and use it 2003-05-16 19:15:56 +00:00
Dana Jansens
2d6c9a7ba6 remove debug prints 2003-05-16 18:34:51 +00:00
Dana Jansens
a0691941e8 dockapps are ObWindows now.
set the type when creating new dockapps.
2003-05-16 18:34:29 +00:00
Dana Jansens
b77e40e1c7 rename "Slit" to "Dock".
add config options to the rc3 for the dock.
create a window_map, add DockApps to the ObWindow types, use the window_map for translating windows into objects for event handling (only one lookup now) and remove the old maps (client_map, menu_map).
2003-05-16 18:10:10 +00:00
Dana Jansens
6e42b65bda add anotehr stacking_add function.
make stacking_add take care of raising also.
make new windows that dont get focus also not raise above the focused window.
2003-05-16 15:16:33 +00:00
Dana Jansens
8367ab14e8 movnig shit around 2003-05-16 15:15:30 +00:00
Dana Jansens
7b65469aea watch out for not loading the timed_menu plugin 2003-05-14 18:40:33 +00:00
Dana Jansens
c5b8ec744c pass teh correct values for config notify events 2003-05-14 18:25:51 +00:00
Scott Moynes
78a8680cd7 Added a menu to read from a pipe.
File descriptors added to the event loop.
2003-05-14 03:34:29 +00:00
Dana Jansens
9938de3693 add opaque move/resize to the rc3 2003-05-11 23:57:56 +00:00
Dana Jansens
ea6b9cafe9 was using the frame window in the stacking list hint 2003-05-11 23:34:27 +00:00
Dana Jansens
7c7868f47d add internal popups n shit to the stacking list.
some cleanups for the stacking order hint.
add non-opaque move/resize. cant toggle it yet.
2003-05-11 23:31:43 +00:00
Dana Jansens
fed4a9e70b rm comment for shit i fixed 2003-05-11 21:39:25 +00:00
Dana Jansens
7e9ad37587 not everything in the stacking_list is a client anymore 2003-05-11 20:19:00 +00:00
Dana Jansens
81cc0749f8 Menus put themselves into the stacking list.
Clicking on the menu (but not on an entry) will raise it.
2003-05-11 19:50:30 +00:00
Dana Jansens
58cfbb7f84 Clients Menus and Slits are all 'ObWindow's now.
Stacking is done with ObWindows.
Slits add themselves to the stacking order, as do clients of course.
Added some macros for adding/removing to the stacking order.
2003-05-11 19:44:33 +00:00
Dana Jansens
506122a110 garb press events so they dont break bindings... X sucks 2003-05-11 17:49:12 +00:00
Dana Jansens
3689fa4b7a grab button events on the slit so they dont go through to root 2003-05-11 17:45:21 +00:00
Dana Jansens
ffb76025fa use the size of the icon window for slit apps, not the client window 2003-05-11 17:31:23 +00:00
Dana Jansens
ed4f84ac33 can drag slit-apps around in the slit 2003-05-11 05:15:43 +00:00
Dana Jansens
20ba24b741 add autohiding to the slit 2003-05-10 22:33:24 +00:00
Dana Jansens
4e88712158 some slit fixes, support resizing slitapps 2003-05-10 22:20:08 +00:00
Dana Jansens
c4a5149016 add a slit to the kernel 2003-05-10 20:52:32 +00:00
Dana Jansens
2508089df5 make the client menu not have a title 2003-05-10 16:03:06 +00:00
Dana Jansens
bd6d80f168 be more careful about ignoring focusin/out event pairs 2003-05-10 15:51:44 +00:00
Scott Moynes
24eb9f85df Turn off timed_menu by default 2003-05-10 15:12:27 +00:00
Scott Moynes
03d42b5d82 Timed menu that reads output from a process while the window is hidden 2003-05-10 14:51:27 +00:00
Scott Moynes
3fab044f34 whitespace 2003-05-10 14:50:39 +00:00
Scott Moynes
a8a4a2cca3 Menu uber patch
Since we have no menu parser see menu_startup() to customize
2003-05-09 23:15:28 +00:00
Dana Jansens
d5eacc5642 add a client_activate function, use it for net_wm_active mesgs and for focus cycling. 2003-05-09 22:53:11 +00:00
Dana Jansens
380ddd2b9c unshade windows when you cycle focus to them 2003-05-09 22:37:19 +00:00
Dana Jansens
bccb90b01d add shit that i made in the last week! 2003-05-09 19:58:08 +00:00
Dana Jansens
f26f23de50 all my changes while i was offline.
better alt-tabbing. better transient handling. i dont even know. lots of fucking cool shit so WATCH the FUCK OUT.
2003-05-09 16:57:17 +00:00
Dana Jansens
1594828ec5 move windows before calcing struts. watch for windows on DESKTOP_ALL when removeing a desktop 2003-04-28 19:36:59 +00:00