Commit graph

924 commits

Author SHA1 Message Date
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
2c6c0757fa make interactive actions a type and not special cases.
add the <interactive> option to them to turn off interactivity
2003-08-30 16:58:30 +00:00
Dana Jansens
009685bc46 remove debug print 2003-08-30 07:20:45 +00:00
Dana Jansens
de4f92ccc6 using the ObMainLoop, which rulz the planet 2003-08-30 07:20:16 +00:00
Dana Jansens
c3b02749d7 add pipe-menus 2003-08-30 05:15:12 +00:00
Dana Jansens
3ff8eb037e fix grabbing and not releasing with menus 2003-08-30 05:04:08 +00:00
Dana Jansens
8a1e9c64d8 dont ungrab twice when hiding menus 2003-08-29 17:17:07 +00:00
Dana Jansens
53134db127 properly select the first menu item in the child menu when using the 'right' keycode 2003-08-29 08:52:12 +00:00
Dana Jansens
09f4a0c51a dont keyboard nav onto disabled menu items 2003-08-29 08:51:05 +00:00
Dana Jansens
7317d17c76 missing break would be bad in future if added more cases 2003-08-29 08:49:41 +00:00
Dana Jansens
dcdc325f5c ultra-keyboard-controlled-menus 2003-08-29 08:44:55 +00:00
Dana Jansens
43fded6a10 fix includes 2003-08-29 08:44:40 +00:00
Dana Jansens
2a79db164c remove the plugin stuffs 2003-08-29 07:58:03 +00:00
Dana Jansens
6f9cea86f5 remove a dispatch.h 2003-08-29 07:57:34 +00:00
Dana Jansens
485fbff15d remove plugins from the menu parsing 2003-08-29 07:57:18 +00:00
Dana Jansens
a9567a8163 move the client and client-list menus into the 'kernel' 2003-08-29 07:56:49 +00:00
Dana Jansens
3c5f6db04c remove the event dispatcher 2003-08-29 06:52:55 +00:00
Dana Jansens
0b4cd7a0cf typo, reading from the wrong member of the actiondata union 2003-08-29 06:48:32 +00:00
Dana Jansens
5e06be6abb add window placement routines to the kernel 2003-08-29 06:40:35 +00:00
Dana Jansens
db4b0e6270 place submenus with their borders over the parent's 2003-08-29 05:49:30 +00:00
Dana Jansens
700e551390 fix a bunch of memleaks from valgrind and stuff 2003-08-28 19:10:36 +00:00
Dana Jansens
d911fbf44c only execute enabled items 2003-08-28 18:34:06 +00:00
Dana Jansens
ec9dd7fdd7 new method for loading menu files etc 2003-08-28 17:32:49 +00:00
Dana Jansens
fb035e4b0f fix crash bug is parsing menu section of the rc3 2003-08-28 17:27:13 +00:00
Dana Jansens
5c63aaa9ae missed one thing, using invalid mem still 2003-08-28 17:22:10 +00:00
Dana Jansens
9e85e930da fix for using freed memory to exec stuff 2003-08-28 17:15:10 +00:00
Dana Jansens
5efc7236a6 free the menu entry frames 2003-08-28 17:05:44 +00:00
Dana Jansens
60fa05f70c rm double ;; 2003-08-28 08:15:45 +00:00
Dana Jansens
15386e86d4 add icons to the client-list-menu 2003-08-28 08:08:18 +00:00
Dana Jansens
c34915ae8d make submenus not require the menu to exist when they are created, not until they are shown.
crash fix in client_menu
2003-08-28 07:49:57 +00:00
Dana Jansens
f7eb47dba4 make client-list-menu work too
more menu cleanups
2003-08-28 07:34:03 +00:00
Dana Jansens
ffba11aeb0 load menu plugins automatically from whats in the menu file
menu fixups
move enabled into the 'normal menu item' specific data stuff
2003-08-28 06:32:27 +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
9290376bbb add follow option back for sendto actions 2003-08-28 05:43:05 +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
cadab91e52 oooops RECT_SET_POINT was broken 2003-08-27 23:16:06 +00:00
Dana Jansens
56cc3dc663 more typo :) 2003-08-27 18:53:25 +00:00
Dana Jansens
d075ca0993 typo :) 2003-08-27 18:52:15 +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
9a0c31797a fix border on shaded maximized windows 2003-08-27 18:38:36 +00:00
Dana Jansens
8173509e90 double deref, props to 'mmj' for spotting this 2003-08-27 05:20:27 +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
8251308845 blef 2003-08-25 15:29:40 +00:00
Dana Jansens
507e7ac875 type change 2003-08-25 15:29:18 +00:00
Dana Jansens
1a94524b08 make --disable-session-management work i think 2003-08-25 15:28:32 +00:00
Dana Jansens
dcb5a38fdb dont force fallbacks within groups 2003-08-25 08:57:09 +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
584656d96a add STRUT_EQUAL 2003-08-25 08:37:29 +00:00
Dana Jansens
7e7efa5c1a set the client decorations to match the frame's so that there is not thot to be changes later on whene there were actually none 2003-08-25 08:37:23 +00:00
Dana Jansens
0964b804a1 restore the stacking order of a saved session 2003-08-25 07:48:28 +00:00
Dana Jansens
486c189d0b save the stacking order of the windows, and sort the saved session data based on stacking when it is loaded. make the list public. 2003-08-25 07:46:59 +00:00
Dana Jansens
97e0908f16 dont put #define values into the supported atoms list 2003-08-25 07:45:08 +00:00
Dana Jansens
4739cf190b clarify that stacking_below sucks 2003-08-25 07:44:33 +00:00
Dana Jansens
7120face25 add stacking_below which moves a window to immediately below another window. use with care it doesn't enforce transient shit etc.. 2003-08-25 07:43:27 +00:00
Dana Jansens
496fbac21c better handling of multiple niteractive actions 2003-08-23 17:52:48 +00:00
Dana Jansens
ecdf24a5db end the other action when starting a new interactive action while one was in place 2003-08-23 16:21:25 +00:00
Dana Jansens
7b6ca7c20e only use visible windows when calcing for raiselower 2003-08-22 15:57:20 +00:00
Dana Jansens
7755edc39a maybe smarter 2003-08-22 15:44:20 +00:00
Dana Jansens
ca8a3ac7bf make the raiselower action smarter 2003-08-22 15:36:44 +00:00
Dana Jansens
d8d1eb53cd better handling of starting a new interactive grab while one is in progress 2003-08-20 23:25:59 +00:00
Dana Jansens
a098c2437e rename the 'root' context to 'desktop' 2003-08-20 23:13:40 +00:00
Dana Jansens
df79dc5767 add the 'raiselower' action for raising obscured windows and lowering fully visible ones 2003-08-20 23:02:26 +00:00
Dana Jansens
a09984bbc0 add an obscured flag that tracks if the frame is at all obscured 2003-08-20 23:01:56 +00:00
Dana Jansens
d59508ae91 use the result from XGetGeometry correctly 2003-08-20 22:50:04 +00:00
Dana Jansens
533992f5aa handle the XGetGeomtry failing for button releases 2003-08-20 17:06:08 +00:00
Dana Jansens
9e3d680cf7 dont grab client context stuff on desktop windows. check that clint is non-null 2003-08-20 15:50:12 +00:00
Dana Jansens
6375df675f grab root mouse bindings on desktop windows also, since they are conceptually the desktop. 2003-08-20 06:17:43 +00:00
Dana Jansens
0844866bbd reset first to TRUE properly when the desktop popup is off 2003-08-20 04:47:01 +00:00
Dana Jansens
c4ec27c275 move the pointer while doing a keyboard move/resize 2003-08-20 04:45:55 +00:00
Dana Jansens
ec0bbfec30 fix whitespace 2003-08-16 17:09:14 +00:00
Dana Jansens
5c0f10b6b6 skip windows in the alt-tabbing which have the SKIP_TASKBAR hint set on them 2003-08-14 08:21:33 +00:00
Dana Jansens
d61edbe219 fix the offsets used to keep the menus on screen 2003-08-14 07:04:40 +00:00
Dana Jansens
948c549d9d dont show titles on submenus. kill the extra 1px at the top of titleless menus 2003-08-14 06:53:41 +00:00
Dana Jansens
12af0aedf2 make putting plugin menus in a menu closer to working.. 2003-08-14 06:39:56 +00:00
Dana Jansens
cbd0e4d308 add the client_list_menu plugin 2003-08-14 06:01:39 +00:00
Dana Jansens
b0855c19bc add a menu destructor callback.
fix a possible crasher where a callback was called with a different menu.
2003-08-14 06:00:38 +00:00
Dana Jansens
1ac6426abd 80 cols 2003-08-14 05:59:40 +00:00
Dana Jansens
237a12749f shutdown the menus before the plugins are unloaded 2003-08-14 05:58:11 +00:00
Dana Jansens
888c3d1f6a make activate take a here parameter 2003-08-14 05:57:45 +00:00
Dana Jansens
90861d60f7 parse <here>true</here> for the activate action 2003-08-14 05:56:43 +00:00
Dana Jansens
60bf9dcdb7 make the activate action have a 'here' parameter 2003-08-14 05:53:32 +00:00
Dana Jansens
99d0b71677 add an 'activate' action 2003-08-14 05:34:51 +00:00
Dana Jansens
35ed95fe18 move the resistance plugin into the kernel. dont resist when move/resizing with the keyboard, only when doing it with the mouse. 2003-08-12 19:57:04 +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
1045079482 adjust for changes to the parsing api.
split the menu into its own file.
2003-08-12 19:18:21 +00:00
Dana Jansens
8b67ce7030 prefix/capitalize the mouse actions enum 2003-08-12 18:12:17 +00:00
Dana Jansens
555e3384ff oops read the mouse cnofig vars into the right place 2003-08-12 18:08:34 +00:00
Dana Jansens
fdc52e879f add the chainQuitKey option to teh <keyboard> section of the rc3 2003-08-12 18:05:40 +00:00
Dana Jansens
35181125f1 include Xutil for shape.h on old X versions 2003-08-12 17:40:05 +00:00
Dana Jansens
b1d44ac43b rendering fixups for submenu bullets 2003-08-12 10:05:36 +00:00
Dana Jansens
e1fd32bcf5 add an option for if the popup is used for desktop cycling. defaults on. 2003-08-12 10:03:13 +00:00
Dana Jansens
f4979de3f5 dont move windows when starting 2003-08-12 09:30:28 +00:00
Dana Jansens
8008638ed6 when cancelling return the first desktop 2003-08-12 09:19:04 +00:00
Dana Jansens
e7ae71db70 use the new client_directional_edge_search for the movetoedge actions.
add new growtoedge actions.
2003-08-12 08:46:21 +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
a9ce3ba266 only do shit with the grabbed_* when a grab is in place 2003-08-12 08:23:56 +00:00
Dana Jansens
8529aab619 remove debug printings 2003-08-12 07:31:31 +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
cb49f853c9 keep event_lasttime at the last time an event has come in so far, don't regress when events come out of order. props to shrimpx for this patch. 2003-08-12 04:06:30 +00:00
Scott Moynes
a4f023cf3a Some fixes and new bugs. Someone else can do the menus because it is
clear no one gives a fuck what I think and no one else wants a window
manager that doesn't suck the same balls as every other window manager.
2003-08-11 21:19:17 +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
084c66a32a clear the window after setting the background color, this isnt implicit 2003-08-10 03:31:18 +00:00
Dana Jansens
79e189dbac changes to the timer api, pass the timer to the callback function.
add a desktop-switch popup with the desktop's name
2003-08-09 04:56:12 +00:00
Scott Moynes
164a095375 Fix lock up when not using a session manager and doing fd management. 2003-08-07 17:06:12 +00:00
Dana Jansens
fd364fe424 dont ignore topleft layouts 2003-08-05 19:40:28 +00:00
Dana Jansens
c94341602e dont map the tl/tr invisible grips when the grip decors are turned off 2003-08-05 18:58:18 +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
20aca7fb7a make the position dislpayed in the moving popup offset by the top/left struts so that 0,0 is inside teh struts not neccessarily at the screen edge 2003-08-05 07:25:22 +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
9ba3f7d0fd give the plate the same background color as its border 2003-08-03 17:11:07 +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
441041d17d the grips go below the titlebar buttons 2003-08-02 06:40:01 +00:00
Dana Jansens
4cd886e518 add partial struts tho they arent useful eyt 2003-08-02 06:25:32 +00:00
Dana Jansens
960a7f0184 invisible resizing areas/grips in the top corners of the window 2003-08-02 06:20:31 +00:00
Dana Jansens
4a2400c5c2 that line ended up in teh if somehow... 2003-08-02 05:31:23 +00:00
Dana Jansens
62f1473c65 oops buttons not keycodes 2003-08-01 19:36:47 +00:00
Dana Jansens
e3521c2371 if a dock app has a button grabbed already then dont die 2003-08-01 19:34:52 +00:00
Dana Jansens
2b72e5d01c add toggled textuers for titlebar buttons 2003-08-01 17:58:48 +00:00
Dana Jansens
3a26c8aa8e move the dekstop file to data/ 2003-08-01 15:00:22 +00:00
Dana Jansens
12a4cc4cbe configre teh dock after finding the new screen sizes 2003-08-01 03:36:06 +00:00
Dana Jansens
bfd20c7a84 compile fixes 2003-08-01 02:57:11 +00:00
Dana Jansens
c68f0a0f11 fix a long-lurknig gravity bug 2003-07-31 19:16:04 +00:00
Dana Jansens
5301ee3c89 oops missed one 2003-07-31 17:02:16 +00:00
Dana Jansens
52a6fc0830 expose exit_with_error 2003-07-31 16:56:35 +00:00
Dana Jansens
860020c1e1 kill some output 2003-07-31 16:43:16 +00:00
Dana Jansens
e5afb0db59 only load the session from file if a file was provided 2003-07-31 16:42:47 +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
e75ad73c0f declare functions that are needed when built without session support 2003-07-31 08:08:56 +00:00
Dana Jansens
d9cc4f6522 use the new sm_client_id function so all windows who should save state do. session save/load seems to be working with gnome-session rather well. 2003-07-31 08:05:38 +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
54ad34a039 move the titlebar layout from the theme to the rc file 2003-07-30 16:25:08 +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
b8ba52fabc code cleaning 2003-07-30 06:08:12 +00:00
Dana Jansens
40c3228f35 only ignore wheel buttons 2003-07-30 06:06:13 +00:00
Dana Jansens
64884e4390 i am the king of copy/paste errors 2003-07-29 11:19:57 +00:00
Scott Moynes
df0f00848a more menu fixes.
I hate menus.
2003-07-29 01:29:12 +00:00
Scott Moynes
3b62c85b60 Clear current_menu when hiding menus. 2003-07-29 01:08:59 +00:00
Scott Moynes
dd33644de4 Close menu properly on unbound keys. 2003-07-29 01:04:22 +00:00
Scott Moynes
f6ad401dab Fix some keyboard control issues. 2003-07-29 00:56:04 +00:00
Dana Jansens
b799cfd9a3 base rudeness on if they have a strut even smarter! 2003-07-28 19:59:37 +00:00