Commit graph

924 commits

Author SHA1 Message Date
Dana Jansens
eea43e6488 make the ob_restart/shutdown stuff static vars and expose them only through functions ob_restart_other(), ob_restart() and ob_exit() 2003-07-10 18:50:47 +00:00
Dana Jansens
452f3f8aae remove useless include 2003-07-10 18:44:49 +00:00
Dana Jansens
d1d84711a2 replace the focus_backup with the screen_support_win, we dont need 2 offscreen windows. 2003-07-10 18:44:27 +00:00
Dana Jansens
120623d34e use the xerror stuff to trap errors instead of dupliacted the effort here 2003-07-10 17:11:07 +00:00
Dana Jansens
85112c4d08 prefix the Timer->ObTimer and TimeoutHandler->ObTimeoutHandler shitz 2003-07-10 17:06:30 +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
5c2e4cced4 use the ObOrientation enum instead of a horz bool for configuring the dock's orientation 2003-07-10 16:38:45 +00:00
Dana Jansens
d206303a9f prefixing for the dock. use ObDirection instead of dupliacting it in another enum for the dock's placement 2003-07-10 16:29:40 +00:00
Dana Jansens
33a2cdbeb9 prefixing for the Popup->ObPopup struct 2003-07-10 15:22:36 +00:00
Dana Jansens
06d3487d49 dont need client.h in this header 2003-07-10 07:17:05 +00:00
Dana Jansens
7d943a950e prefixing and capitalization for the Frame->ObFrame struct and the Context->ObFrameContext enum and its constants. 2003-07-10 07:16:19 +00:00
Dana Jansens
5be23ec5a4 prefix Group to ObGroup 2003-07-10 07:03:40 +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
416b9d5f5f speed up pick_group_windows too 2003-07-10 05:35:22 +00:00
Dana Jansens
38d3cad249 make pick_windows waaaay faster 2003-07-10 05:33:51 +00:00
Dana Jansens
7f19b99a67 remove the use of the BINARY define. kill a compiler warning. 2003-07-10 04:38:02 +00:00
Dana Jansens
f0b09e265a allow restacking of transients above one another 2003-07-10 04:37:26 +00:00
Dana Jansens
bd15aab855 put the transient's title before the parent's in the focus popup 2003-07-10 04:36:42 +00:00
Dana Jansens
9cc08630ca remove the xinerama active boolean, just count the extension as not present if it is not active 2003-07-10 04:36:17 +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
d2a628a487 add ob_debug for printing stuff only when debug is enabled 2003-07-10 04:32:33 +00:00
Dana Jansens
2abbf01125 update the build system, using a single Makefile.am for a sexyass non-recursive make. booyah! 2003-07-10 04:31:05 +00:00
Dana Jansens
425b1734c9 move the gettext header out to the root source dir 2003-07-10 04:30:15 +00:00
Dana Jansens
5d1718b81b use --foo instead of -foo for cmd line arguments 2003-07-05 17:22:42 +00:00
Dana Jansens
c6945c1397 rename the raise and lower functions. raise is claimed by signal.h already 2003-07-02 16:11:04 +00:00
Dana Jansens
bbc2fa53ce set te strut smaller when autohide is on 2003-06-30 23:11:58 +00:00
Scott Moynes
19df0324a6 Makes a simple click not so accidently annoying by making it not
execute a menu action if nothing is highlighted.
2003-06-30 23:06:50 +00:00
Dana Jansens
1a3bcbddbc messed up the indexes while finding the combined size of all xineerama heads 2003-06-30 05:19:42 +00:00
Dana Jansens
e2b245dcad oops, i want the max edges to find the full area 2003-06-30 05:10:51 +00:00
Dana Jansens
f544273eaf the prop_get_strings_locale function looked for a utf8 typed property 2003-06-29 18:37:51 +00:00
Dana Jansens
1cacfa85d0 add some comments and asserts to make sure I don't ever add this bug again 2003-06-29 17:29:10 +00:00
Dana Jansens
dd80df31c4 create the popup's window before adding it to the stacking list, so that it is stacked properly and doesnt wreck everything 2003-06-29 17:18:19 +00:00
Dana Jansens
2f9efb384d prepare for alpha1 release.
make 'make dist' work.
2003-06-29 08:47:24 +00:00
Dana Jansens
2fa7129ca3 waste of energy in stacking_add, and it even caused bugs. woops. 2003-06-29 04:00:43 +00:00
Scott Moynes
71b7b043a2 Handle menu events a little better: don't bother updating a submenu on
mouseover if it is already open, and call update on menus, even if
they aren't marked as invalid.
2003-06-29 01:44:31 +00:00
Dana Jansens
1ff042579e use fprintf not g_message in the signal handler. no mallocing allowed. 2003-06-28 19:28:46 +00:00
Dana Jansens
52b99477db set the values of the array at teh right indexes 2003-06-28 18:30:11 +00:00
Dana Jansens
7837faa340 fix memory bugs 2003-06-28 18:24:34 +00:00
Dana Jansens
b23fa507a8 put group members above the window when lowering it 2003-06-28 17:28:48 +00:00
Dana Jansens
4695749aab set the stacking list when stacking changes 2003-06-28 17:21:42 +00:00
Dana Jansens
8a049a6d27 dont need to raise after adding 2003-06-28 16:16:45 +00:00
Dana Jansens
05a850b88e build 'openbox' instead of 'openbox3'.
add the openbox.desktop file for gnome compat.
2003-06-27 13:01:31 +00:00
Dana Jansens
1821fb49dd set "Openbox" as the name no "Openbox3" 2003-06-27 13:01:04 +00:00
Dana Jansens
7e777c7c20 add a .desktop file which gets installed for gnome 2003-06-27 13:00:25 +00:00
Dana Jansens
ea8c154ecf add the openbox binary 2003-06-27 13:00:05 +00:00
Dana Jansens
083afe5e2e add a call to g_set_prgname 2003-06-27 12:10:17 +00:00
Dana Jansens
c170d2f717 stacking changes, its more like the old code without being shitty and with support for raising groups at a time. 2003-06-27 05:42:03 +00:00
Dana Jansens
a9bc09161f core when the list gets out of order 2003-06-27 04:23:05 +00:00
Dana Jansens
34e819738b xinerama support 2003-06-27 04:20:30 +00:00
Dana Jansens
e846063fa8 4 space indents 2003-06-27 00:03:43 +00:00
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
Dana Jansens
f8e7ab509c a more correct for the missing frame problem. don't restack windows when changing the window's layer while it is being managed. 2003-04-27 22:33:38 +00:00
Dana Jansens
5888e7ed4b watch for windows without frames, they can be in the transient order before they get fully managed 2003-04-27 22:25:15 +00:00
Dana Jansens
04d6bf1e60 show the move coords for where the window will actually be 2003-04-26 21:11:50 +00:00
Dana Jansens
fd89a7eadc only focus on startup if focus_new is true 2003-04-25 22:40:04 +00:00
Dana Jansens
d3c094357d restore the desktop and focused window on restarts if possible 2003-04-25 22:35:08 +00:00
Dana Jansens
92d3f2342d add helper functions for manipulating the focus_order list.
move the focus popup into focus.c, out of action.c
allow cycling to iconic windows, which are kept at the bottom of the focus_order lists.
2003-04-25 21:27:16 +00:00
Dana Jansens
16a9ac018e let the frame hold a focus state so that it can lie.
dont focus windows while cycling, just highlight them as if they are focused
2003-04-25 19:55:41 +00:00
Dana Jansens
11b7764e5f icons are not at +1 anymore 2003-04-25 17:50:08 +00:00
Dana Jansens
019c779f7d some more checks for transients looping on eachother when they are transients of a group 2003-04-24 03:41:30 +00:00
Dana Jansens
957ffe9c03 client side shit ISNT 32 bits on 64 bit platforms, its 64 bits. fuck X so hard. 2003-04-22 20:05:25 +00:00
Dana Jansens
0ba6700655 even better checks for when to focus new windows. focus dialogs when they are the only member of their group 2003-04-22 07:06:10 +00:00
Scott Moynes
574dd66b32 More menu changes to facilitate plugins. 2003-04-22 03:48:34 +00:00
Scott Moynes
6a237b91bc Render menus only when they are invalid. 2003-04-22 01:04:29 +00:00
Dana Jansens
5d973d35e8 yet more changes to choosing to focus windows when they mapp 2003-04-21 00:47:14 +00:00
Dana Jansens
d22e9c9c1d try avoid cicular includes with the bison shit 2003-04-21 00:45:08 +00:00
Dana Jansens
573aaf7ede make the icon larger than the buttons by one pixel in each direction, this makes it as tall as the label and lets it fit more image in 2003-04-20 07:08:40 +00:00
Dana Jansens
d3ce8451bc new focus-new rules 2003-04-20 05:53:10 +00:00
Dana Jansens
8dfa16abae i lied.. fuck @ those gnome dialogs 2003-04-19 21:11:04 +00:00
Dana Jansens
ccb8cd61ac lighten up a bit on the focus new windows criteria 2003-04-19 21:10:27 +00:00
Dana Jansens
9c55fd5a57 rm invalid comment 2003-04-19 18:31:14 +00:00
Dana Jansens
540f547bab only look for FocusOut events on the same window 2003-04-19 18:30:58 +00:00
Dana Jansens
bcbe5c8f82 convert STRING properties from "ISO-8859-1" instead of from the current locale, since this is what they apparently are, according to gdk. 2003-04-19 02:26:53 +00:00
Dana Jansens
be6d54a0e8 check the string not the pointer to it 2003-04-19 01:16:30 +00:00
Dana Jansens
6b7737acc3 the mouse grab screws that up 2003-04-18 22:31:00 +00:00
Dana Jansens
2829849b71 dispatch presses and releases during a move/resize 2003-04-18 22:27:24 +00:00
Dana Jansens
31fac363fb kill the debug prints for now 2003-04-18 22:12:34 +00:00
Dana Jansens
142c14fcc8 nm cant do it.. damn 2003-04-18 22:05:39 +00:00
Dana Jansens
6a9e7dea8e ignore another type of crossing event, caused when leaving gtk popup menus 2003-04-18 21:56:53 +00:00
Dana Jansens
c2b3a49e69 just formatting 2003-04-18 08:46:19 +00:00
Dana Jansens
01debc76b9 yet MORE changes to how focusin/out's are handled. more edge case fixing, this time with focus fallback when unmapping a window in sloppy focus mode. 2003-04-18 08:45:49 +00:00
Dana Jansens
b426f7667d adjust choosing to focus new windows, make it more strict.
eat all Enter events when unmapping a window so focus fallback can be more smarter..
2003-04-18 08:44:32 +00:00
Dana Jansens
a8b8f2fc80 dont need to sync 2003-04-18 08:41:35 +00:00
Dana Jansens
a5f5b42455 check for client_normal before focusing 2003-04-18 06:55:51 +00:00
Dana Jansens
06663c245a when unfocusing a window (e.g. unmanaging) try fallback to transient relations, if that fails, try group relations, then fallback to other window. 2003-04-18 06:55:28 +00:00
Dana Jansens
9d16ced24e try focus other transients of the parent window when a transient falls back before focusing the parent 2003-04-18 06:32:54 +00:00
Dana Jansens
f8056d9c28 unset it AFTER using it... 2003-04-18 06:29:28 +00:00
Dana Jansens
bf14853e55 unset the client when done moveresizing 2003-04-18 06:28:57 +00:00
Dana Jansens
b5a5a8f384 don't wait(), the glib function does that for us woot. 2003-04-18 06:07:41 +00:00
Dana Jansens
c4fb053f2f more strict rules on what will be focused by the focusNew option in the rc3. only strictly NORMAL windows will be focused, not dialogs or anything else when they are mapped. 2003-04-18 04:13:08 +00:00
Dana Jansens
e6a00eee31 comment typo 2003-04-18 01:51:55 +00:00
Dana Jansens
077cd7f944 watch out when unmanaging a window, that it is not being move/resized 2003-04-18 01:51:41 +00:00
Dana Jansens
cfe3dc9ec4 a) put transient windows on the same desktop as their parent
b) if a window is attempted to be focused but it is not on the current desktop,
   then move it to the top of the focus order on its desktop
2003-04-17 18:21:19 +00:00
Dana Jansens
322b2d0a05 distribute focus when entering/leaving show-the-desktop mode 2003-04-17 17:32:09 +00:00
Dana Jansens
0a3d3245a6 remove debug print 2003-04-17 17:31:22 +00:00
Dana Jansens
43139ed373 add the left/right/top/bottom direction arrows and use them for resizing those ways 2003-04-17 16:18:34 +00:00
Dana Jansens
793099ce57 dont ignore all Virtual pointer events 2003-04-17 08:04:45 +00:00
Dana Jansens
1923939bba 02:33 (@xor) omg yes
02:33 (@xor) grid workspace cycling of d3th
2003-04-17 07:33:50 +00:00
Dana Jansens
827e7baf20 fix grip workspace cycling 2003-04-17 07:20:08 +00:00
Dana Jansens
c4af950903 fix up support for moveresize. make keyboard grabs Async so that i can hit escape to cancel a moveresize process. 2003-04-17 07:00:13 +00:00
Dana Jansens
de70d9ffc5 do not shadow parameter pls 2003-04-17 06:24:41 +00:00
Dana Jansens
c4138c0cde initialize start_x/y 2003-04-17 06:21:19 +00:00
Dana Jansens
25ffe6b566 add support for interactive/keyboard move/resize 2003-04-17 06:17:06 +00:00
Dana Jansens
12d4c8666c add support for net_moveresize_window and net_wm_moveresize 2003-04-17 05:43:41 +00:00
Dana Jansens
7e8cdf1ab7 use the new cursor defn's 2003-04-17 05:29:11 +00:00
Dana Jansens
75d4428403 use the new ptr cursor defn 2003-04-17 05:28:53 +00:00
Dana Jansens
7886b797a3 move the move/resize functionality into moveresize.c, for use with the netwm atoms. use it from teh plugins. combine the two actions. 2003-04-17 05:28:35 +00:00
Dana Jansens
55c424d38b put text centered in the popup dialog properly 2003-04-17 05:13:18 +00:00
Dana Jansens
11b79778ad add more cursors for move/resizing, and use the arrows not the angle brackets 2003-04-17 02:15:09 +00:00
Dana Jansens
372bf02947 grab pointer during cycling to remove focus screwups from focus-follows-mouse.
grab during move/resize and assign a cursor while doing the move/resize too!
2003-04-17 02:14:30 +00:00
Dana Jansens
450c21d0ca ignore virtual crossing events.. 2003-04-17 01:48:26 +00:00
Dana Jansens
8d3829d160 that was dumb, it was metacity's fault 2003-04-17 01:25:29 +00:00
Dana Jansens
3505a866fe only cycle to visible windows 2003-04-17 01:24:53 +00:00
Dana Jansens
cb71c993e5 dont send menu events to plugins 2003-04-16 19:41:22 +00:00
Dana Jansens
185d1337e5 menus works on some level. add a built-in root menu 2003-04-16 18:09:11 +00:00
Dana Jansens
04cfdd261d code cleanup 2003-04-16 17:06:42 +00:00
Dana Jansens
1683b33fc1 when flags are not set assume bette defaults 2003-04-16 16:56:26 +00:00
Dana Jansens
79a352a40b raise menus above clients.
hilight menu entries as the cursor passes over them.
2003-04-16 05:36:51 +00:00
Dana Jansens
59c3cce4f4 save the window ids in a map for the menus 2003-04-16 04:16:24 +00:00
Dana Jansens
c915078fab only change the group info if the group flag is set 2003-04-16 01:02:29 +00:00
Dana Jansens
8c2f20e672 only add transients if we are IN a group 2003-04-16 00:55:27 +00:00
Dana Jansens
712475a9b5 oops nm 2003-04-16 00:53:52 +00:00
Dana Jansens
f3a93aeede less ()s cleanup 2003-04-16 00:53:32 +00:00
Dana Jansens
d4b2de2180 remove transients before removing ourlselves from teh group 2003-04-16 00:52:18 +00:00
Dana Jansens
998ad4e7ee set the group to null when removeing ourselves from it 2003-04-16 00:49:06 +00:00
Dana Jansens
1c87358858 watch out for missing a name 2003-04-15 21:25:21 +00:00
Dana Jansens
0e28a07e3d start of showing/rendering menus. woot! 2003-04-15 18:29:55 +00:00
Dana Jansens
3c960fb928 remove transients of the group from teh window when it leaves the group 2003-04-15 16:53:36 +00:00
Dana Jansens
4eb80a81cf add group transients when setting up the group 2003-04-15 16:52:14 +00:00
Dana Jansens
5898c68530 bug in the search for transient_for's 2003-04-15 16:41:55 +00:00
Dana Jansens
db251b0828 remove debug print 2003-04-15 02:19:24 +00:00
Dana Jansens
e6d1ab217f fixes for handling char**s 2003-04-14 23:38:54 +00:00
Dana Jansens
693c88ca35 dont get a null at the end of the data, so use strndup 2003-04-14 22:42:10 +00:00
Dana Jansens
cb6840788b fix a seg from ignoreing PROP_GETSS failure 2003-04-14 22:39:47 +00:00
Dana Jansens
5a95786263 more fixes for working with char**s 2003-04-14 22:31:22 +00:00
Dana Jansens
4769c65a84 nullify the ends of the char** 2003-04-14 22:25:17 +00:00
Dana Jansens
3175986d3a remove casts from PROP defines. use proper vars and cast elsewhere if needed. 2003-04-14 22:20:27 +00:00
Dana Jansens
d4b20aef31 rip the prop code i wrote in cwmcc out and make it all 64bit friendly (i think!). stop using gulong for values from the xserver, using guint32 instead. 2003-04-14 21:34:35 +00:00
Dana Jansens
3d6e0f941d these menus should not be removed, they are good and will be used. 2003-04-14 21:26:01 +00:00
Dana Jansens
677bc6ed2d clean up this mess of crap a lot 2003-04-14 17:07:04 +00:00
Dana Jansens
3809fb37a5 do not commit bad char* foo that breaks on !32 bit platforms 2003-04-14 17:06:32 +00:00
Scott Moynes
69854023a4 *** empty log message *** 2003-04-14 04:30:34 +00:00
Dana Jansens
fd069520c9 allow _'s in identifiers 2003-04-14 04:26:19 +00:00
Dana Jansens
eb5f930ae7 raise and lower all transients along with parents 2003-04-14 01:11:32 +00:00
Dana Jansens
58ebc8f73c apply layers to all transients. only raise once on the highest window who's layer changed after applying layers to them all 2003-04-14 01:10:54 +00:00
Dana Jansens
4d06971322 ifdef not ifndef 2003-04-13 23:43:18 +00:00
Dana Jansens
580795fe6a keep all transient windows above their parents 2003-04-13 23:24:36 +00:00
Dana Jansens
e75ead70a6 simple cleanups for the client_iconify function.
also dont follow into other groups when searching up the transient_for tree
2003-04-13 23:24:18 +00:00
Dana Jansens
16e7aac633 rm the unused vars 2003-04-13 21:48:10 +00:00
Dana Jansens
fd1b33af0d onyl focus 'normal' windows on map 2003-04-13 21:47:39 +00:00
Dana Jansens
58ba751ab7 only keep fullscreen windows on top while they are focused 2003-04-13 21:46:31 +00:00
Dana Jansens
b58268e01a make fullscreen decorations and functions be calculated by the setup_decor_and_functions func 2003-04-13 21:37:32 +00:00
Dana Jansens
07d4806239 rm the group debug prints 2003-04-13 21:20:03 +00:00
Dana Jansens
00042637e8 only print that when debuggin focus 2003-04-13 21:19:43 +00:00
Dana Jansens
184e57c7e3 ignore the remaining new shit from automaking everything again 2003-04-13 21:18:43 +00:00
Dana Jansens
dfc9680e33 back to automake 2003-04-13 21:17:02 +00:00
Dana Jansens
bb8b9ddbc5 pass the Client for frame_context cuz the client might be NULL 2003-04-13 08:36:38 +00:00
Dana Jansens
d6ef215583 let specify theme in the rc3 file. rm the other old engine options 2003-04-13 07:27:21 +00:00
Dana Jansens
5cf61ee023 move the openbox engine into librender and the kernel. the theme is loaded and stored inside librender. the frame is decorated and managed inside the kernel. 2003-04-13 07:18:28 +00:00
Dana Jansens
6011fe9c95 make utility windows able to be resized 2003-04-11 19:14:13 +00:00
Dana Jansens
a5bd2babc8 deiconify transient parents when a child is deiconified. 2003-04-10 07:21:30 +00:00
Dana Jansens
64dac07d07 no fuck that it was working fine 2003-04-10 06:50:57 +00:00
Dana Jansens
cb444e37d2 make the TRAN_GROUP an unsigned long 2003-04-10 06:50:42 +00:00
Dana Jansens
a6ce30cba9 add MapRequest print 2003-04-10 06:46:44 +00:00
Dana Jansens
e9d875cf83 some smarter rules for focusing new window when focus_new is not set 2003-04-10 06:29:43 +00:00
Dana Jansens
a6130b8407 dont show the focus popup when theres no target client 2003-04-09 17:40:14 +00:00
Dana Jansens
9bae1e3128 rm debug print 2003-04-08 20:07:20 +00:00
Dana Jansens
71badb0790 move config option loading for the kernel into config.c/h
add options for the number of desktops and the names of the desktops
2003-04-08 07:31:26 +00:00
Dana Jansens
63b0c5616f check for focus before unfocusing 2003-04-08 06:31:25 +00:00
Dana Jansens
c99bb4a049 add more options for focus fallback, use an enum for all the types of fallbacks. 2003-04-08 06:14:53 +00:00
Dana Jansens
40bfb2b6e5 only cycle focus to normal windows 2003-04-08 04:48:39 +00:00
Dana Jansens
0272ef26e7 show a popup with the focus target while cycling 2003-04-08 01:04:09 +00:00
Dana Jansens
f278ec41e4 fallback to transients' parents when possible.
return the Client* which was focused from focus_cycle
2003-04-08 01:03:26 +00:00
Dana Jansens
fc32577766 fallback focus while unmanaging the window 2003-04-08 01:02:28 +00:00
Dana Jansens
083f2f5d5d add focusLast and focusLastOnDesktop options in the [focus] section of the rc3. allows more customizaton of the focus model. default to click-focus style. add handling for focus cycling when nothing on the desktop is focused. 2003-04-07 22:29:40 +00:00
Dana Jansens
2dac2cc01b ignore inferior enternotifies
add anotehr focusdebug print
2003-04-07 22:27:02 +00:00
Dana Jansens
5f53cd5fb8 check for new windows always being onscreen.
rename the client pointer to self in teh manage unmanage functions for consistancy
2003-04-07 22:26:31 +00:00
Dana Jansens
7613d4d8ec rm debug prints 2003-04-07 22:25:33 +00:00
Dana Jansens
a25b19a17f support for transients of groups 2003-04-07 08:45:52 +00:00
Dana Jansens
e6cc69ca04 support for transients of groups 2003-04-07 08:43:33 +00:00
Dana Jansens
3cbf5bfa7c missed one 2003-04-07 07:29:49 +00:00
Dana Jansens
2eb4d79326 put focus messages in ifdefs 2003-04-07 07:29:00 +00:00
Dana Jansens
79ddf91839 remove debug print 2003-04-07 07:28:06 +00:00
Dana Jansens
5f42ecfacb track window groups
iconify all its transients when a window is iconified
2003-04-07 05:47:20 +00:00
Dana Jansens
db086ef336 put focus_cycle into focus.c, use it there in the action. improved it as well to handle odd cases like modal windows. added functions to client.c which are needed by the focus cycling routine. 2003-04-07 03:46:41 +00:00
Dana Jansens
1f775fdd86 grab the other device in Sync for button/key grabs 2003-04-07 03:43:53 +00:00
Dana Jansens
d498522a56 dont toggle when no client was passed to teh action 2003-04-06 18:40:10 +00:00
Dana Jansens
d43a109ba2 nm that, pointless... 2003-04-06 18:38:51 +00:00
Dana Jansens
d1913d1d01 disable keyboard and mouse input while ob is starting or exiting 2003-04-06 18:18:55 +00:00
Dana Jansens
70e4138169 print the error when the engine cant load 2003-04-06 17:42:11 +00:00
Dana Jansens
ee2368044d clean up the module if load() fails 2003-04-06 08:25:35 +00:00
Dana Jansens
c42314ec44 add a coords popup for moving and resizing 2003-04-06 06:16:46 +00:00
Dana Jansens
b31eb83f04 add ()'s to the macros for more safety 2003-04-06 06:16:34 +00:00
Dana Jansens
6016ff8658 add the ability to render and size text labels for non-window-decorations 2003-04-06 06:16:19 +00:00
Dana Jansens
aa26b219ec make NLIMC the default titlebar layout 2003-04-06 00:09:51 +00:00