Commit graph

491 commits

Author SHA1 Message Date
Mikael Magnusson
9df57ff1b5 I meant to check for windows placed by programs, not windows not placed by the user. Now checks for windows placed by programs and not placed by user. This excludes placement schemes which the former check didn't, resulting in some brokenness, particularly with xinerama. 2005-09-13 12:13:13 +00:00
Mikael Magnusson
829e746b4d fix programs showing their child windows outside the screen, but retain the possibility to put windows slightly offscreen with the -geometry argument (which is why i broke it in the first place) 2005-08-11 13:23:59 +00:00
Mikael Magnusson
03cad5d97c add a (temporary?) check to client_activate to make client_list_menu not crash openbox when selecting a window that has closed since the menu opened 2005-07-25 14:15:16 +00:00
Mikael Magnusson
6ec1881579 c++ comments 2005-07-14 13:23:05 +00:00
Mikael Magnusson
cab723fac9 fix transparent terminals not updating when toggledecoring them 2005-03-25 23:00:20 +00:00
Mikael Magnusson
e74fbdaa0e revert a commit xor made in 2003 that always annoyed me, now docks (panels) go in the same layers as normal windows again. docks that dont specify layer go in the ABOVE layer and those that specify BELOW get put in the NORMAL layer. 2005-02-06 16:00:24 +00:00
Mikael Magnusson
ac416fd27e testing failed, hopefully this is reverting to the right place 2005-02-06 02:18:06 +00:00
Mikael Magnusson
3f40d6e762 more testing 2005-02-06 02:06:57 +00:00
Mikael Magnusson
52c345c300 try moving the move_onscreen with the rude into the place routine so it only gets called if a window doesn't specify a position 2005-02-06 01:43:37 +00:00
Mikael Magnusson
60565bcba8 okay so that's why it didn't use move_onscreen 2005-02-06 01:16:00 +00:00
Mikael Magnusson
ef042d220b test some stuff 2005-02-06 00:50:43 +00:00
Mikael Magnusson
943dd68152 the xinerama patch from john russell, modified a bit and merged the move_onmonitor with the already existing move_onscreen stuff, not sure if it actually works on xinerama since i dont have it. 2005-02-05 23:26:16 +00:00
Mikael Magnusson
4f9ec4cbdb grab the mouse buttons and keyboards keys on clients before showing them to avoid the situation where a grabbed key goes to a client without being seen by openbox, hopefully has no side effects but probably does 2004-12-30 15:37:30 +00:00
Mikael Magnusson
349990a3b5 eek, a patch had a tab in it 2004-10-21 20:54:59 +00:00
Mikael Magnusson
f825b13b85 patch to let wmctrl and others set _NET_WM_STATE_HIDDEN to minimize windows, by Timo Hirvonen 2004-10-08 13:56:39 +00:00
Mikael Magnusson
c02f68499f option to make dragging and findedge ignore windows on lower layers 2004-09-04 19:45:38 +00:00
Mikael Magnusson
8ba619d5f1 finding edges and switching directional focus was broken from omnipresent windows. changed c->desktop to screen_desktop seems to work fine so far. 2004-06-14 12:26:35 +00:00
Mikael Magnusson
cabcea2002 okay, so maybe i should try compiling things. lets see if i can get away with not testing it 2004-03-31 07:40:06 +00:00
Mikael Magnusson
89f223e253 this is not so nice 2004-03-30 22:32:12 +00:00
Mikael Magnusson
a70e22c557 nothing to see here, move along 2004-03-30 22:24:15 +00:00
Mikael Magnusson
f870d32397 two hands raised, keepBorder added to <theme> section 2004-03-21 20:02:47 +00:00
Mikael Magnusson
b2b8ad92bf update copyright notices 2004-03-21 11:57:31 +00:00
Mikael Magnusson
3fadb639fa pasted that a bit too far down yesterday 2004-03-21 11:38:21 +00:00
Mikael Magnusson
335e8acbfc yay no tabs in the source 2004-03-21 01:03:00 +00:00
Mikael Magnusson
e3786e64fb typo fix a comment 2004-03-20 23:52:38 +00:00
Mikael Magnusson
07dd2c6442 fix reversed variable name and add a little comment to the magic menu code 2004-03-20 23:40:29 +00:00
Mikael Magnusson
cd0204d626 fullscreen overrides aspect hints (because i say so) 2004-03-20 21:38:04 +00:00
Mikael Magnusson
77c744f285 raise your hand if you liked the onepixel border and i'll add an option for it somewhere 2004-03-20 21:35:44 +00:00
Mikael Magnusson
2a8ede0004 alert windows can be titleless, maybe all titleless windows should be empty, i dunno 2004-03-20 21:34:29 +00:00
Mikael Magnusson
d50f491716 this might fix focusLast which was previously borken when closing a window and the pointer was on it and then going onto another from the close. er, yeah. 2004-02-25 19:07:40 +00:00
Dana Jansens
a6e4aba806 make all dialog typed windows transient for their group if they dont specify a WM_TRANSIENT_FOR hint. 2003-12-22 17:24:51 +00:00
Dana Jansens
5a1ad84c05 use gpointer for void* 2003-10-25 19:39:19 +00:00
Dana Jansens
16dc1c48c8 oops typo of doom 2003-10-25 19:30:48 +00:00
Dana Jansens
174de91c34 use g_[s]list_next/previous consistantly, and check for "it" instead of "it != NULL" consistantly. props to Logan again :) 2003-10-25 19:27:09 +00:00
Dana Jansens
5cac540f56 add to teh focus order before the call to change_state, since this can remove/add to the focus order, and then we're in there twice 2003-10-18 22:09:29 +00:00
Dana Jansens
5749f109f9 both must be normal to inherit above/below 2003-10-15 16:14:29 +00:00
Dana Jansens
c30df2e750 dont let clients be above and below 2003-10-15 05:50:56 +00:00
Dana Jansens
415f2cce27 only inherit layer when both windows are the same normal status 2003-10-15 04:56:32 +00:00
Dana Jansens
740c5b2a20 consistant glib type usage 2003-10-15 03:59:35 +00:00
Dana Jansens
c9233ddb23 unmap and map the client window when the frame is hidden/shown 2003-10-15 03:01:34 +00:00
Dana Jansens
37c9f2d961 fix _NET_WM_STRUT oldschool support 2003-10-14 07:23:42 +00:00
Dana Jansens
2bf58d8fb3 dont put windows below by default 2003-10-13 03:47:52 +00:00
Dana Jansens
420e6f87a6 inherit above/below more carefully 2003-10-13 02:52:59 +00:00
Dana Jansens
b9b3123305 when getting the state, grab the above/below from the max amongst other members of the client's group 2003-10-13 01:10:03 +00:00
Dana Jansens
cf397b0e60 smarter picking of heads for client windows 2003-10-11 08:24:49 +00:00
Dana Jansens
f5f59cea71 raise windows when they change modality 2003-10-11 08:21:51 +00:00
Dana Jansens
5592351585 give clients being restored from a session a little more flexibility in lpacement so they will go back where they were when saved 2003-10-11 07:35:05 +00:00
Dana Jansens
469b0c1ca9 handle case where session saves a 0 width/height (for maximized windows!) 2003-10-11 03:44:05 +00:00
Dana Jansens
c8678108eb indenting 2003-10-10 08:28:18 +00:00
Dana Jansens
1be38a0418 set the defaults for typed windows in client_get_all:
desktop types get put on all desktops
dock types get put in the ABOVE layer
2003-10-10 08:22:14 +00:00
Dana Jansens
e1eff99176 do client_raise after client_focus for new windows 2003-10-10 06:00:27 +00:00
Dana Jansens
6a00a44b99 indenting 2003-10-10 05:36:02 +00:00
Dana Jansens
b84a934ab7 provide function to tell if a client has any group siblings 2003-10-09 19:29:10 +00:00
Dana Jansens
bb52941999 cancel focus delays when the user runs a focus (or focus cycle) action, and when focusing new windows 2003-10-09 18:49:14 +00:00
Dana Jansens
5c390b9344 indenting 2003-10-09 16:46:54 +00:00
Dana Jansens
b7d2693742 dont give decorless windows a border when toggling decorations 2003-10-09 16:36:28 +00:00
Dana Jansens
b9d47c49d6 for dock windows, honor both the above and below states, keeping docks above and below *all* normal windows though (even 'above'/'below' ones). if the dock doesn't specify then it will stack along with normal windows. 2003-10-09 16:34:37 +00:00
Dana Jansens
440b862204 indenting 2003-10-08 18:27:30 +00:00
Dana Jansens
b968a7ac19 indenting 2003-10-08 18:27:10 +00:00
Dana Jansens
fb8a9a6363 indenting 2003-10-08 18:23:48 +00:00
Dana Jansens
f55766cc55 save premax values properly, individually for each direction 2003-10-06 17:33:23 +00:00
Dana Jansens
c4fcfc07e1 dont resize the window when restoring session state if the sizes are invalid 2003-10-03 07:33:27 +00:00
Dana Jansens
242dc35a36 indenting 2003-10-03 04:27:44 +00:00
Dana Jansens
c88e66b8ff use frame->visible instead of the desktop number 2003-10-01 17:51:20 +00:00
Dana Jansens
f9c659c12c fix resizing to 0 from aspect ratios 2003-09-28 07:38:55 +00:00
Dana Jansens
a434669d17 remove debug prints 2003-09-28 06:48:35 +00:00
Dana Jansens
f6ba1f27b9 halfway through client changes but...
should fix crashes irt actions in the action queue for clients that have been destroyed. now those actions are skipped or performed without a client as possible.
2003-09-28 06:31:00 +00:00
Dana Jansens
e30ae5696f remove from parents when changing groups 2003-09-27 17:57:02 +00:00
Dana Jansens
0dfff40a30 formatting, add an assert 2003-09-27 17:50:28 +00:00
Dana Jansens
51cc41e4db indenting 2003-09-27 17:39:44 +00:00
Dana Jansens
fbed66cc81 ok unfocus before removing transient shit, but remove focus related flags so we don't get focused in the fallback. 2003-09-27 06:41:00 +00:00
Dana Jansens
af7278b6e5 that was a really bad idea, i didnt mean it, i swear 2003-09-27 06:30:51 +00:00
Dana Jansens
8aee387193 unfocus before unlinking the client from the transient tree 2003-09-27 05:19:15 +00:00
Dana Jansens
0908816132 when looking for the focus target, search for modal children in the entire transient tree, not just children of the client on which focus is requested 2003-09-26 19:05:06 +00:00
Dana Jansens
dfd524926e add client_raise and client_lower which just fire off actions 2003-09-26 18:15:58 +00:00
Dana Jansens
411cc1d1d9 use actions for raising 2003-09-26 18:03:58 +00:00
Dana Jansens
bb541d850a bring back action_run_string 2003-09-26 18:01:44 +00:00
Dana Jansens
fb341869b1 use an action only for Raise 2003-09-26 17:46:49 +00:00
Dana Jansens
a2849a728d use actions to focus and raise the wnidow ni client_activate. this means the focus shit gets processed before the raise 2003-09-26 17:29:55 +00:00
Dana Jansens
360d1659a1 checked the wrong var for unmaxing 2003-09-26 15:08:03 +00:00
Dana Jansens
365940477b add some more client tree searching functions. make transients always get focused when a parent has focus, not just direct parents. 2003-09-26 07:08:07 +00:00
Dana Jansens
7dc01bbee7 remove debug print 2003-09-26 04:10:17 +00:00
Dana Jansens
b4fa843575 add client_set_undecorated().
add support for the _OB_WM_STATE_UNDECORATED state hint.
2003-09-25 23:07:15 +00:00
Dana Jansens
caca123b90 dont use the _OPENBOX_PREMAX window property anymore, save max and fullscreen pre-areas in the client struct 2003-09-25 22:47:48 +00:00
Dana Jansens
62b3b8c57e typo 2003-09-25 22:00:36 +00:00
Dana Jansens
54ccb6a542 focus new children if their direct parent is focused 2003-09-25 19:01:45 +00:00
Dana Jansens
710f41e622 focus nwe transients when another window in their transient tree is focused 2003-09-25 06:41:17 +00:00
Dana Jansens
624033c32d support the _KDE_WM_CHANGE_STATE hint 2003-09-24 17:17:51 +00:00
Dana Jansens
f68066aa63 we always want to start with something focused, moving this to openbox.c 2003-09-22 04:14:32 +00:00
Dana Jansens
6538a5ccb2 move the code to find the window under the pointer out of focus.c to client.c 2003-09-21 21:25:23 +00:00
Dana Jansens
38370b2e82 dont assert, just ignore client_unfocus() when the client isnt already focused 2003-09-21 18:43:11 +00:00
Dana Jansens
19e4820073 properly send resize events for when the app has requested the resize 2003-09-19 16:58:23 +00:00
Dana Jansens
abde4bc153 dont split client requested resizes into 2 events, thanks to manmower for this idea 2003-09-18 20:09:16 +00:00
Dana Jansens
16f46c296d no tabs 2003-09-17 07:44:49 +00:00
Dana Jansens
c4e4760c41 add copyright headers, adjust --version output to include copyright, and --help output to not include version output. 2003-09-17 07:32:52 +00:00
Dana Jansens
3a607fad9d revert my commit of d3th, it fucked up focus badly 2003-09-15 11:29:17 +00:00
Dana Jansens
4ccc4c5ed7 break focus. or maybe make it better.
these changes make it work when you alt-tab off a fullscreen window, that it doesnt iconify, and that it is immediately restacked instead of waiting for a FocusIn event to arrive. The code now assumes that if the window says it can focus, that if we focus it, it is focused.
add the XDone handler to ObMainLoop, which is fired upon the occurance of there being no more X events to read.
2003-09-15 10:54:07 +00:00
Dana Jansens
3e9d050ffe save the sm_client_id just like saving other properties, dont query each time its needed 2003-09-15 06:50:25 +00:00
Dana Jansens
b317f01403 dont impose staying on-screen for non-normal windows like kicker 2003-09-14 18:35:21 +00:00
Dana Jansens
d89391ec94 dont waste a strdup which is never freed 2003-09-14 06:40:33 +00:00
Dana Jansens
49a73ce15c add support for a default icon, but no icon has been made yet. 2003-09-12 01:11:33 +00:00
Dana Jansens
5e38ae49ce remove debug prints 2003-09-08 19:32:01 +00:00
Dana Jansens
3fa11ec62b round 2 for this shit 2003-09-08 18:05:42 +00:00
Dana Jansens
4c0adb1f2b flush after resizing a client 2003-09-08 18:01:46 +00:00
Dana Jansens
5bebe5fbf8 if the client is growing, resize it before the frame. if its shrinking, then resize the frame first. reduces flicker lots. 2003-09-08 17:58:31 +00:00
Dana Jansens
9f2a844beb watch for windows with titlecounts changing their title and getting an incorrect titlecount 2003-09-08 17:51:54 +00:00
Dana Jansens
e9d878f47d oops 2003-09-08 17:39:21 +00:00
Dana Jansens
7cbcc099ef some simpler code 2003-09-08 17:30:55 +00:00
Dana Jansens
3942d579d8 dont reset all the states to FALSE in client_get_state, this made an initial IconicState get ignored 2003-09-08 17:22:46 +00:00
Dana Jansens
4bec1c07db Closes #799. i think im too high to say more. 2003-09-06 09:25:05 +00:00
Dana Jansens
c20a8d986a handle the case where a transient is a child of a dockapp 2003-09-03 22:06:17 +00:00
Dana Jansens
e7b2e52b78 support getting the desktop from the startup notification protocol
pass on to the startup notification code that a window has mapped with a given wmclass
2003-09-03 20:42:49 +00:00
Dana Jansens
806a8c411f add a reconfigure action, also reconfigure on SIGUSR2.
support reconfiguring throughout the entire codebase.
2003-09-03 18:11:39 +00:00
Dana Jansens
5e5fdb1666 make the client destructor a GDestroyNotify 2003-09-03 08:10:51 +00:00
Dana Jansens
78dfba0195 stop doing stupid shit for the size increments in client_configure, it belongs in the moveresize code. add it there. 2003-09-02 07:50:52 +00:00
Dana Jansens
3ab0fc4814 flash when urgent 2003-09-01 03:42:44 +00:00
Dana Jansens
9d42df6ab4 add urgent actions
add some macros for moving/resizing clients
add 'vibrate' action
2003-09-01 02:02:40 +00:00
Dana Jansens
3e4495c4c8 move_onscreen was supposed to go away.. :) thanks mikachu 2003-08-31 06:55:14 +00:00
Dana Jansens
0185445e3a use the nwe theme's show_handle value 2003-08-30 19:02:48 +00:00
Dana Jansens
8e76e32863 add destructor functions for clients that you acn subscribe with, and use these instead of hardcoding special cases in the unmanage code 2003-08-30 17:46:23 +00:00
Dana Jansens
3c5f6db04c remove the event dispatcher 2003-08-29 06:52:55 +00:00
Dana Jansens
615cbd9607 change the menu plugin interface, no need for the create/destroy functions any more.
redo the client-menu plugin to work with the new menu api
2003-08-28 05:44:13 +00:00
Dana Jansens
c34ef4028e half way through the changes to new menu code/design. hot shit. static menus work, on to plugins next. 2003-08-28 02:10:23 +00:00
Dana Jansens
a32c2c125c dont be rude to non-normal windows with keeping them onscreen 2003-08-27 18:50:12 +00:00
Dana Jansens
fdfaa0c8dd remove the last of the cool stuff thanks to GTK fuck fuck. no more not focusing windows in groups that arent focused on map 2003-08-25 18:40:00 +00:00
Dana Jansens
5186d04c61 better handling of maximizing, wrt changing decorations on the windows, and showing the correct decor for the max state especially for windows which dont change size (Xnest) when maximized cuz they are at their maximum size already 2003-08-25 08:49:48 +00:00
Dana Jansens
0964b804a1 restore the stacking order of a saved session 2003-08-25 07:48:28 +00:00
Dana Jansens
888c3d1f6a make activate take a here parameter 2003-08-14 05:57:45 +00:00
Dana Jansens
950b85b988 oops i fucked up tore's patch. better. 2003-08-12 19:41:22 +00:00
Dana Jansens
e531f69006 bug fixes for growtoedge from tore. props to tore for all the growtoedge and movetoedge code, and directional focus code also since i dont think i mentioned his name before in the changelogs woot. 2003-08-12 19:25:03 +00:00
Dana Jansens
f4979de3f5 dont move windows when starting 2003-08-12 09:30:28 +00:00
Dana Jansens
c1f0f7c40f small bugfix to the directional focus code.
add the client_directional_edge_search function.
2003-08-12 08:25:04 +00:00
Dana Jansens
c90da6da78 move the keyboard and mouse plugins into the kernel for mucho sexiness.
make workspace changing a grabbed/interactive process like focus cycling is, with the popup and all.
this is some hot shit.
2003-08-12 07:26:16 +00:00
Dana Jansens
d94fba7262 save the frame decorations in client_configure_full before causing the fake frame adjust, since that loses its old value. 2003-08-10 23:30:15 +00:00
Dana Jansens
2494762dbf a couple frame layout bugfixes hidden inside all this.. wee
fixes for maximizing windows:
 - when you toggledecor, it will reconfigure once, but the new constraints from the decor changes would not be in effect when the window was resized to the contranits. fixed by calling frame_adjust_area first thing ni client_configure_fulll with fake=TRUE which will recalc all the frame geometry without resizing/redrawing anything in the frame. this way the decor can take effect in the geometries.
 - when maxed horizontally, make the client fill the screen, but dont do this by just making it wider than the screen, fit it to the screen and adjust the titlebar/handle as appropriate to keep it all on the screen.
 - when maxed horizontally and vertically, remove the handle from the decorations
2003-08-05 10:31:20 +00:00
Dana Jansens
853d5f4b70 when setting up decor on a window, it needs to reconfigure twice if the decor changes, cuz the constraints need the new frame sizes to work right 2003-08-05 07:39:44 +00:00
Dana Jansens
26827d875a kill non-opaque move/resize
add an option for redrawing/resizing the client window while resizing, when disabled the client is not touched until the resize is complete.
2003-08-03 17:47:10 +00:00
Dana Jansens
be7c0d426a use the frame size not the client size when figuring out if stuff fits on the screen 2003-08-02 18:09:46 +00:00
Dana Jansens
4a2400c5c2 that line ended up in teh if somehow... 2003-08-02 05:31:23 +00:00
Dana Jansens
c8fa3a6028 set the desktop hint if the desktop is changed by the session code 2003-07-31 09:02:56 +00:00
Dana Jansens
d7f3d16fb7 set the desktop hint after everything is read/setup even session stuff 2003-07-31 09:01:14 +00:00
Dana Jansens
717d10f31a add the window to the lists before setting the client list hint 2003-07-31 08:45:57 +00:00
Dana Jansens
02c15aca65 add a function to retrieve the sm_client_id value 2003-07-31 08:04:20 +00:00
Dana Jansens
9c1438f17b restore saved session data for applications 2003-07-30 20:01:35 +00:00
Dana Jansens
9e9e6278d5 attemp #3 2003-07-30 16:15:51 +00:00
Dana Jansens
f346738173 attempt #2 at better logical size values 2003-07-30 16:14:24 +00:00
Dana Jansens
0a809d36dd attempt #2 at better logical size values 2003-07-30 16:13:52 +00:00
Dana Jansens
c852826e9e include the base size in the logical size 2003-07-30 16:09:56 +00:00
Dana Jansens
006de2abaa the size can be 0 when there is a base size 2003-07-30 07:09:36 +00:00
Dana Jansens
1aa0bc66eb improved ICCCM compliance!
a) send ConfigureNotify back to the client as required by the ICCCM in all sitatuations.
  b) send the corrent coords in the ConfigureNotify, including the border width
  c) remove the WM_STATE property when unmanaging a window
2003-07-30 06:19:15 +00:00
Dana Jansens
b799cfd9a3 base rudeness on if they have a strut even smarter! 2003-07-28 19:59:37 +00:00
Dana Jansens
067776e783 base rudeness on if they have a strut or not 2003-07-28 19:56:52 +00:00
Dana Jansens
4d82dd3017 make the new placement restrictions not affect !normal windows like panels 2003-07-28 19:53:54 +00:00
Dana Jansens
950516124f make those apps stay/map on screen!! fuck stupid apps. thats right im talking to you mozilla and you too java. 2003-07-28 18:06:55 +00:00
Dana Jansens
09f178aa54 use the macro 2003-07-28 16:10:06 +00:00
Dana Jansens
eb1fb5580e keep apps from moving/maping their titlebar underneath left/top panels 2003-07-28 07:19:47 +00:00
Dana Jansens
11cde9683d add client_search_transient which searches the tree from a client down for a client 2003-07-25 13:25:09 +00:00
Dana Jansens
5be0a82a35 use ob_debug for any debug printing and only display the output when its a debug build or when --debug is passed to it 2003-07-24 06:02:38 +00:00
Dana Jansens
a057d14c8b stop shownig the desktop when a new window maps 2003-07-22 16:50:23 +00:00
Dana Jansens
4c1641bfc7 simple code cleanup 2003-07-12 06:17:13 +00:00
Dana Jansens
9d7244e646 when a transient maps on another desktop, give it focus when it deserves it 2003-07-11 15:32:03 +00:00
Dana Jansens
130a42710c move to the desktop of the activated window 2003-07-11 00:08:43 +00:00
Dana Jansens
81af5a8b0c add disabled buttons, instead of now showing buttons at all when they wont do anything, now show a disabled button instead. this severely breaks compatibility with blackbox themes since there is no good way to automiatically create a disabled button that i can think of, so if they dont exist in the theme you get black and white for the button.
when a window cant be resized, its handle is not removed but its grips are.

change allowing the user to disable individual decorations as that is overkill,
instead allow a toggle through the client.decorate boolean.
2003-07-10 23:27:02 +00:00
Dana Jansens
a95dc346fe prefix and capitalize ObMenu ObMenuEntry and ObMenuEntryRenderType
make the ObMenuEntryRenderType a standard enum instead bitflags
2003-07-10 19:27:12 +00:00
Dana Jansens
bddbe94328 make ob_state a function so it cant be changed outside of openbox.c 2003-07-10 19:06:00 +00:00
Dana Jansens
35418ca0fc remove the ob_root var, its redundant of what Xlib already provides 2003-07-10 19:01:41 +00:00
Dana Jansens
122d55fbad prefixing and capitalizing the StackLayer -> ObStackingLayer enum.
less includes in headers for less rebuilding on changes
2003-07-10 17:03:05 +00:00
Dana Jansens
59f318e897 prefix and capitalize the ObFocusFallbackType enum 2003-07-10 16:42:42 +00:00
Dana Jansens
e4be1f860b prefix TRAN_GROUP to OB_TRAN_GROUP 2003-07-10 07:01:13 +00:00
Dana Jansens
4736c257a5 prefix and capitalize some more constants/enums in client.h (Function -> ObFunctions and WindowType -> ObClientType) 2003-07-10 06:59:39 +00:00
Dana Jansens
2477a38d2f rename the Client struct to ObClient 2003-07-10 06:38:42 +00:00
Dana Jansens
b42ef7362c add a mwm.h for the mwm hint structure and flags.
use proper prefixing and capitalization for the new mwm stuff.
2003-07-10 06:23:38 +00:00
Dana Jansens
276b2be581 add misc.h with some standard enumerations with proper prefixing and capitalizations.
use the new enums throughout.

provide keycodes and cursors through ob_cursor and ob_keycode functions, which use the new misc.h enums for picking the cursor and keycode.
2003-07-10 06:18:47 +00:00
Dana Jansens
6357583c39 rename 'xinerama' stuff to 'monitors' to be more generic and descriptive. 2003-07-10 05:44:23 +00:00
Dana Jansens
0719843c68 add client_search_top_transient.
keep transients all on the same desktop together. use client_search_top_transient where possible in client.c
2003-07-10 04:34:18 +00:00
Dana Jansens
34e819738b xinerama support 2003-06-27 04:20:30 +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
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
ba76ffaa2b remove/add instead of raising to put a window into a new layer 2003-06-26 07:07:42 +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
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
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
c100b72c5d more namespacing with Rr* 2003-06-21 02:26:50 +00:00
Dana Jansens
092616de9a rename pixel32/16 to RrPixel32/16 2003-06-21 02:00:42 +00:00
Dana Jansens
a4a0cb7829 fixed to accomodate the changes to the render/ API. 2003-06-21 00:42:47 +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
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
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
c6fd3aa890 use client_can_focus from client_focus to always get the same result 2003-06-04 19:24:37 +00:00