Commit graph

203 commits

Author SHA1 Message Date
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
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
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
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
e6d1ab217f fixes for handling char**s 2003-04-14 23:38:54 +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
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
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
00042637e8 only print that when debuggin focus 2003-04-13 21:19:43 +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
e9d875cf83 some smarter rules for focusing new window when focus_new is not set 2003-04-10 06:29:43 +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
fc32577766 fallback focus while unmanaging the window 2003-04-08 01:02:28 +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
e6cc69ca04 support for transients of groups 2003-04-07 08:43:33 +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
3778846122 typo 2003-04-05 21:49:55 +00:00
Dana Jansens
3d0ba381db put it back 2003-04-05 21:40:47 +00:00
Dana Jansens
e38b27fcce make unfocus really unfocus everything 2003-04-05 21:36:37 +00:00
Dana Jansens
cbbf90a718 change how rc parsing will work. a=b will be parsed in any [section] and given to a separate parsing callback. no more general config infrastructure needed/ 2003-04-05 20:27:03 +00:00
Dana Jansens
b10b31feb8 rm debug print 2003-04-02 06:31:04 +00:00
Dana Jansens
4398c7c168 add a shaded button 2003-03-31 22:58:54 +00:00
Dana Jansens
abbb454a29 only disallow shading when the function is not enabled, dont disallow unshading 2003-03-31 20:24:56 +00:00
Dana Jansens
0327c5a778 use the frame's position in the maximize function since they're converted to the client coords before getting to client_configure 2003-03-31 07:51:04 +00:00
Dana Jansens
8fbc68d46d set fullscreen and max positions properly for all gravities 2003-03-31 07:22:19 +00:00
Dana Jansens
8ac5a60322 rm client_disable_decorations.. it already had an action.
add the action to the action_from_string func
2003-03-28 23:02:57 +00:00
Dana Jansens
8fb10d8d87 add client_disable_decorations 2003-03-28 22:59:26 +00:00
Dana Jansens
3e8ecbeefa onlt raise the window when sending to a desktop it wasnt already on 2003-03-28 11:17:52 +00:00
Dana Jansens
0fcd4c30cc RevertToPointerRoot is the worse error case, so use it always 2003-03-28 10:47:48 +00:00
Dana Jansens
cc813ed698 make the value boolean 2003-03-28 10:02:21 +00:00
Dana Jansens
b749cd5ec4 was not moving the window between desktop focus lists sometimes. bad news. now i always do. yay! 2003-03-28 08:23:18 +00:00
Dana Jansens
92bea590c0 let a window be 'moved' to a new desktop without actually show/hiding it. useful for sending a window when following it, so theres no flash/flicker 2003-03-28 08:11:02 +00:00
Dana Jansens
38c776bd4e use the struts to size the window correctly for maximized windows 2003-03-28 03:18:08 +00:00
Dana Jansens
91fed61884 read struts properly 2003-03-28 03:02:35 +00:00
Dana Jansens
e7d225b84a only use the initial_state shit when NOT starting and when managing the window 2003-03-28 01:25:51 +00:00
Dana Jansens
07a52aeaff mor fabulous focus fixings.
RevertToNone so that when the fallback stuff goes the window wont already have focus cuz it has the pointer in to
2003-03-28 00:27:35 +00:00
Dana Jansens
bf32b376b5 handle focus in the kernel, no more plugin 2003-03-27 23:10:22 +00:00
Dana Jansens
e0170fe181 rm debug print 2003-03-27 19:05:16 +00:00
Dana Jansens
f29dd7e0cd not using CurrentTime anywhere 2003-03-26 15:02:08 +00:00
Dana Jansens
093c4cb710 kill the prints again for now 2003-03-26 09:47:08 +00:00
Dana Jansens
cc844c5794 put back map/unmap msgs 2003-03-26 09:05:49 +00:00
Dana Jansens
b48c0e0b47 oops 2003-03-26 08:00:56 +00:00
Dana Jansens
f24116de75 rm some debug prints 2003-03-26 07:59:05 +00:00
Dana Jansens
fef5d0d9bc use rgba icons for clients 2003-03-26 05:36:18 +00:00
Dana Jansens
bdf1662af2 clarify using stacking_lower for restoring the stacking order 2003-03-25 00:54:47 +00:00
Dana Jansens
d286702ed4 free the startup stacking order after using it 2003-03-25 00:44:27 +00:00
Dana Jansens
e731042dc9 read in the stacking order on startup, and use it to restore windows back to the order they were in before 2003-03-25 00:39:28 +00:00
Dana Jansens
d56e90fac8 use g_hash_table properly 2003-03-24 22:03:38 +00:00
Dana Jansens
c2684d312b make sure the ConfigureNotify is propogated even when there is no change 2003-03-24 20:15:36 +00:00
Dana Jansens
c9ba604668 always send the event on a final configure even if there was no real move 2003-03-24 20:09:31 +00:00
Dana Jansens
7beec94a1f make sure windows which cant be moved or resized also can't be fullscreened 2003-03-24 20:05:11 +00:00
Dana Jansens
0d84c43d2a only configure the engine if something changed 2003-03-24 19:59:46 +00:00
Dana Jansens
436c85576e only perform the actions necessary when performing an engine_adjust_area. pass whether the client has moved or resized 2003-03-24 19:52:09 +00:00
Dana Jansens
e238e4ac2d kill debug print 2003-03-24 05:38:28 +00:00
Dana Jansens
3b14b587ef more focus improvements. everything seems to work! 2003-03-24 04:56:46 +00:00
Dana Jansens
7bb829f8b7 no \n in g_message 2003-03-24 00:40:29 +00:00
Dana Jansens
687559cb2d yet more improvements to focus handling 2003-03-23 23:47:47 +00:00
Dana Jansens
d88f34e100 code optimization 2003-03-23 20:45:15 +00:00
Dana Jansens
b18f5f1d2b when adjusting the trasient lists, set them, dont leave them hanging into space 2003-03-23 20:34:13 +00:00
Dana Jansens
cf37170bff whitespace 2003-03-23 19:44:43 +00:00
Dana Jansens
ff06051eb7 asserts in unmanage to try track a crash 2003-03-22 13:26:28 +00:00
Dana Jansens
9b514b3b61 add the client_kill function, and the kill action, and bind it to the middle mouse button on the close button. 2003-03-22 06:58:38 +00:00
Dana Jansens
dd6e27f2c3 rename the res_name and res_class members to name and class 2003-03-22 00:35:02 +00:00
Dana Jansens
327a0b3de7 always adjust the frames size and position together, so there is no more weird resizing before moving and edge flickering when resizing from the top/left 2003-03-21 18:38:08 +00:00
Dana Jansens
94d871a390 dont check for != NULL before freeing. pointless. 2003-03-21 10:35:35 +00:00
Dana Jansens
9a4ccc919c add the client_set_focused function.
make focus state be changed internally immediately after calling the X functions to make it so, basically, assume their success. this elimiates races all over the place with our state vs the server's state.
2003-03-21 10:26:26 +00:00
Dana Jansens
a3012eafbd rm debug prints 2003-03-21 08:19:40 +00:00
Dana Jansens
db75d406ce rm the focused member from the client struct, it was redundant with the focus_client variable around 2003-03-21 08:18:39 +00:00
Dana Jansens
45f6d52712 save decor and functions per client for fullscreening! 2003-03-20 21:52:49 +00:00
Dana Jansens
f76b26e4ad lock the size/position of maximized and fullscreen clients 2003-03-20 21:49:39 +00:00
Dana Jansens
ba2c6a23df lock the position/size of maximized windows 2003-03-20 21:09:56 +00:00
Dana Jansens
6321d28652 no \n in g_messages 2003-03-19 19:58:25 +00:00
Dana Jansens
ef43db32eb rm the comments pointer bindings stuff, thats in a plugin now 2003-03-19 07:12:00 +00:00
Dana Jansens
b3817126ee add new windows to the back of the focus order list 2003-03-19 07:10:05 +00:00
Dana Jansens
648c55b829 move the focus_order lists into the kernel 2003-03-19 07:08:15 +00:00
Dana Jansens
7d215bd255 add 'grab_server' for grabbing .. the .. server! 2003-03-18 20:00:44 +00:00
Dana Jansens
ad44e8a708 add actions for key/mouse bindings etc 2003-03-18 08:39:28 +00:00
Dana Jansens
bfea000a74 add a keyboard plugin 2003-03-18 05:29:01 +00:00
Dana Jansens
75b07a2bb3 all events are dispatched 2003-03-17 20:16:32 +00:00
Dana Jansens
9b33f7ded6 stop using python internally. add an event dispatcher 2003-03-17 19:54:37 +00:00
Dana Jansens
7f561a6a7a make client_showhide a static function 2003-03-17 02:05:05 +00:00
Dana Jansens
216a04bdd0 speed up workspace switching by causing the minimal number of expose events (none for the hiding windows!) 2003-03-17 02:03:45 +00:00
Dana Jansens
f8a47de5ec merge the C branch into HEAD 2003-03-16 21:11:39 +00:00