Commit graph

1849 commits

Author SHA1 Message Date
Dana Jansens
b673823d0b have to fallback in client_unmanage, until we figure out a way to hear those focusin events without conflicting screens 2007-04-26 06:10:13 +00:00
Dana Jansens
bdf287572c fix placement of top menus 2007-04-26 05:59:37 +00:00
Dana Jansens
004c0d3ccf almost everyone prefers the brackets. so make both menus use them now. maybe [] would be better than ()? i dont know 2007-04-26 05:39:23 +00:00
Dana Jansens
26879183e9 place the client menu at the top left of the window when opening it with a key binding.
change how the first menus are placed. place them like other people place menus. maybe this is good, maybe it is bad, we will see..
2007-04-26 05:08:33 +00:00
Dana Jansens
baa9ad1480 dont parse both keybindings and actions in the same block 2007-04-26 03:12:47 +00:00
Dana Jansens
1a300ab372 add the delay for killing keychains back (but it won't kill chroots) 2007-04-26 02:43:43 +00:00
Dana Jansens
d9b25d4884 add group transients to other transients who arent group transients. is that english? YEP 2007-04-26 02:32:50 +00:00
Dana Jansens
e896709c90 when windows disappear dont move focus from enter event, ever. 2007-04-26 02:21:27 +00:00
Dana Jansens
a65b1d202f allow actions and chains at the same level 2007-04-26 02:12:40 +00:00
Dana Jansens
8c68c9ab0f fixes for new keybindings stuff/chroot/parsing 2007-04-26 02:10:15 +00:00
Dana Jansens
b6d2529acb add chrooting. use chroot="true" on the chroot location 2007-04-26 01:25:52 +00:00
Dana Jansens
1ee98f4a47 give the chain popup a 1 second delay before it shows 2007-04-25 20:17:29 +00:00
Dana Jansens
df9b2294db add a popup dialog that shows where you are in a keychain 2007-04-25 20:04:25 +00:00
Dana Jansens
b5dbe857db dont go to disabled menu entries with keyboard shortcuts
fix some rendering of shortcuts
2007-04-25 18:26:02 +00:00
Dana Jansens
0c41ab3c20 make rendering the shortcuts much faster 2007-04-25 18:04:15 +00:00
Mikael Magnusson
a744deeee3 consistency for dock layer naming 2007-04-25 15:44:49 +00:00
Dana Jansens
c8983c42a7 playing a bit with grabs
make mouse clicks cancel alt-tab and stuff if you arent dragging during the alt-tab
2007-04-25 14:13:32 +00:00
Dana Jansens
d9204860c3 some more border fixups 2007-04-25 04:07:52 +00:00
Dana Jansens
89658cf648 the inner stuff was being placed wrong all this time.
also give the inner window a border. clicking to the left/right of the client now will be the client context rather than the frame. frame is just for grabbed buttons after all.
2007-04-25 03:52:33 +00:00
Dana Jansens
9aa42c2ae7 cleanups for keyboard menu shotcuts. dont let & set a shortcut from stuff like menu titles and what not, they are only for strigns oenbox provides. 2007-04-25 02:50:59 +00:00
Dana Jansens
4717b9870c change resize binding 2007-04-25 01:36:20 +00:00
Dana Jansens
5d5be2ba2a add keyboard shortcuts to the menus. you can specify the shortcut key with & even in root menu and stuff 2007-04-25 01:33:20 +00:00
Dana Jansens
d91c67bf93 g_locale_to_utf8 seems to work here and its a simpler function all, and i dont have to specify iso-8891whatever in it, so maybe its actually more portable. or maybe it breaks things. we'll see, won't we. 2007-04-25 01:31:55 +00:00
Dana Jansens
f6b049cd38 pointer type changed a long time ago 2007-04-25 00:50:20 +00:00
Mikael Magnusson
fb2493115f only grab keybinds on the root window, not every client window 2007-04-24 21:45:43 +00:00
Dana Jansens
7b6f90af52 consistency 2007-04-24 21:11:04 +00:00
Dana Jansens
04010ff0fe don't split strings inside _() across lines. change some of the text messages 2007-04-24 21:09:12 +00:00
Dana Jansens
1582b36187 proper handling of the plate though, too 2007-04-24 20:48:28 +00:00
Dana Jansens
d3ca984e93 make the inner window work like the plate used to for actions 2007-04-24 20:42:34 +00:00
Dana Jansens
79cd7b4b2c dont cause focus change with enter events when youre already in the window 2007-04-24 20:39:59 +00:00
Dana Jansens
d19c184b2d set the client's user_time when it gets activated 2007-04-24 19:55:48 +00:00
Dana Jansens
0116d82463 don't activate and change desktops if the client's not on the current desktop and its user_time is older than the last time you changed desktops 2007-04-24 19:53:50 +00:00
Dana Jansens
ca8665e309 fix a comment 2007-04-24 19:26:48 +00:00
Dana Jansens
8446e50b7a use client_activate to activate newly mapping windows. this means that if a window maps on another desktop and is going to be activated, you will end up on that desktop 2007-04-24 19:20:10 +00:00
Dana Jansens
9e6aa531d0 remove the four corners option
document what these serious macros are with art!
2007-04-24 18:36:13 +00:00
Mikael Magnusson
59a33c03b0 working tapered corners resize 2007-04-24 18:05:37 +00:00
Dana Jansens
5606209b8d print the corner out that was chosen 2007-04-24 18:00:45 +00:00
Mikael Magnusson
045ba2e001 what I have so far 2007-04-24 17:42:53 +00:00
Mikael Magnusson
f201828046 this doesn't work yet but i don't want to screw it up accidentally 2007-04-24 16:37:01 +00:00
Dana Jansens
ac241a8235 set the default icon onto windows which don't provide one 2007-04-24 15:56:37 +00:00
Dana Jansens
d2f7ad9a24 place randomly inside the area available. if its too big, put the top left corner inside still 2007-04-24 15:29:42 +00:00
Dana Jansens
0771964c0f set the max settings properly, was setting max_vert for both.
make sure the desktop property is set when per-app settings change it
2007-04-24 14:58:29 +00:00
Dana Jansens
c1a124fcf2 preliminary change to the 9 corners thing, to add a recursive 9 corners inside the middle one 2007-04-24 14:37:46 +00:00
Dana Jansens
8740c30588 the check for if the window is being resized is only needed for syncing 2007-04-24 14:27:31 +00:00
Mikael Magnusson
e86900bd53 fix resizing when drawContents is off, and I think an ifdef was a bit too high up 2007-04-24 12:18:53 +00:00
Dana Jansens
7854818a82 add debug messages saying if an extension is missing on the server 2007-04-24 07:26:37 +00:00
Dana Jansens
fefbf38726 remove the stick atom, since openbox does not use stickiness 2007-04-24 07:12:19 +00:00
Dana Jansens
6e83a82e5b the focus_client = NULL got moved by mistake. 2007-04-24 06:41:59 +00:00
Dana Jansens
c6fe4f8d8f focus_order_remove is called in a few places. move the check for unsetting focus_client into client_unmanage. 2007-04-24 06:41:04 +00:00
Dana Jansens
ad852b6b56 add support for _NET_WM_SYNC_REQUEST 2007-04-24 06:30:16 +00:00
Dana Jansens
7ae95e4660 save windows' colormaps rather than querying them from the server every time you focus it 2007-04-24 01:29:53 +00:00
Dana Jansens
3595da62ca never mind on the hint idea, it was fun while it lasted. at least i know it is there now. 2007-04-24 01:16:33 +00:00
Dana Jansens
3a91527fdf hm, that was a silly error. the propogate mask shouldnt get the Hint thing in it. 2007-04-24 01:08:09 +00:00
Dana Jansens
a806f05214 missing a thinger 2007-04-24 01:02:35 +00:00
Dana Jansens
a488360f48 add the PointerMotionHintMask everywhere, we dont need every mouse event 2007-04-24 01:00:27 +00:00
Dana Jansens
3993847dd4 set the eventmask on frame windows again.. 2007-04-24 00:07:28 +00:00
Dana Jansens
268c87ed9e in shrinking resize the frame before the client 2007-04-24 00:02:51 +00:00
Dana Jansens
5316bc6c3e 1. remove some old event handling that was not used at all. yay less bandwidth.
2. make the client padding color show during resizes with drawContents off
2007-04-24 00:00:11 +00:00
Dana Jansens
1a005d7291 place transients without a parent in the middle of the screen
dont use non-normal windows as parents
2007-04-23 23:46:13 +00:00
Dana Jansens
d0013c0861 add a window between the frame and the plate for drawing the client border. this way when the client window disappears, nothing gets rendered underneath it. 2007-04-23 23:21:47 +00:00
Dana Jansens
b4eecc51b5 focus_client was becoming invalid if the focused client was unmanaged. 2007-04-23 23:11:33 +00:00
Dana Jansens
9f11e2af6b cycling between dock windows now possible with the <panels>yes</panels> option 2007-04-23 22:40:33 +00:00
Dana Jansens
f999797f01 leavenotify events messing up delayed focus 2007-04-23 22:05:03 +00:00
Dana Jansens
865ef738ec fix warning 2007-04-23 20:36:32 +00:00
Dana Jansens
5a68cdadf3 extra comma 2007-04-23 20:36:13 +00:00
Dana Jansens
b22cdc9f70 line up the top coords box nicer 2007-04-23 20:20:04 +00:00
Mikael Magnusson
9e7a240dfd include the header that has gethostname 2007-04-23 19:02:33 +00:00
Mikael Magnusson
141c249b8c show the hostname of forwarded clients in the titlebar 2007-04-23 18:46:19 +00:00
Dana Jansens
2442cdfd85 1) translate all of openbox's output
2) update copyrights.
3) make release. ok that part not quite yet.
2007-04-23 17:56:35 +00:00
Dana Jansens
ea088eb88d remove an unused variable 2007-04-23 17:55:26 +00:00
Dana Jansens
a8535d49a9 only show debug messages if you enable it on command line and remove extra newline 2007-04-23 02:43:56 +00:00
Dana Jansens
eb18f502b5 fallback to desktops properly 2007-04-23 02:43:14 +00:00
Dana Jansens
a8a93d7d39 put the separator back in the spit up client list menu 2007-04-23 02:22:18 +00:00
Dana Jansens
06943a10ff back out r5812. you do want that there 2007-04-23 02:02:34 +00:00
Dana Jansens
a82c1efeed wasteful syncing 2007-04-23 02:00:33 +00:00
Dana Jansens
58dc86971a remove windows from the hash on hide, dont readd them again! 2007-04-23 01:54:35 +00:00
Mikael Magnusson
66c350763f unused variable "icons" 2007-04-23 01:36:36 +00:00
Dana Jansens
7e0d660b8b stop listening to events on clients that are being unmanaged before generating new events 2007-04-22 22:56:53 +00:00
Dana Jansens
806655e78a you cant grab substructureredirect on the plate. why was this even here? 2007-04-22 22:55:06 +00:00
Dana Jansens
86b7f4e543 use event_ignore_queued_enters 2007-04-22 22:21:32 +00:00
Dana Jansens
4543c1761a when windows reverttoparent, we will get a notifynonlinear when the frame closes 2007-04-22 21:29:02 +00:00
Dana Jansens
56d42ce66a use focusouts from unmanaged windows (windows which have just closed) 2007-04-22 21:14:04 +00:00
Dana Jansens
6d666b0aa5 add a debug message 2007-04-22 20:41:26 +00:00
Dana Jansens
f37382b66d focus properly on desktop change 2007-04-22 20:40:22 +00:00
Dana Jansens
5f428bdeb2 missing a header 2007-04-22 20:37:33 +00:00
Dana Jansens
3265ea9ac1 when focusing nothing, make sure focus_client knows that nothing is focused 2007-04-22 20:33:12 +00:00
Dana Jansens
afd88015b5 focusin to the root window happens on both monitors when a focused window unmaps... boo... 2007-04-22 20:27:13 +00:00
Dana Jansens
eb1cd9cc49 ignore some focus events that shouldnt be reacted to 2007-04-22 20:10:17 +00:00
Dana Jansens
dc43b74abd 2007-04-22 19:52:37 +00:00
Dana Jansens
911ad76372 a) set the focus client before calculating its layer
b) cleanup in focus.c
2007-04-22 19:35:50 +00:00
Dana Jansens
55b5b828e9 FocusOut events come after UnmapNotify, so we don't need to worry about focusing an invalid window 2007-04-22 19:24:51 +00:00
Dana Jansens
bfb800c032 a) remove focus_hilite, it is not needed and complicated things
b) set focus_client to null when nothing is actually focused, but still allow
   focus to go to black holes
c) allow the focus action to be performed without a client, this will focus
   the openbox instance (i.e. the screen in multihead setups)

big thanks to syscrash for the ideas on how to go about this
2007-04-22 19:13:38 +00:00
Dana Jansens
7d1226c57c xflush after changing the focus decorations so it gets shown faster 2007-04-22 19:08:38 +00:00
Mikael Magnusson
7c1fb96bd3 don't compare client pointers with random numbers 2007-04-22 18:26:05 +00:00
Dana Jansens
1685e6528d remove debug message 2007-04-22 17:33:37 +00:00
Dana Jansens
65f29b245d hilite the focus target before xsyncing in the ignore enter stuff, so less flicker 2007-04-22 16:49:13 +00:00
Dana Jansens
037654f3f8 use ignore enters instead of removing them from the queue 2007-04-22 16:48:35 +00:00
Dana Jansens
d6e49acf0f dont need to ignore mouse events during a keyboard grab, they go to the grab-window anyways
use our built in grab_keyboard
2007-04-22 15:58:09 +00:00
Dana Jansens
27773e1cb7 don't grab the pointer during interactive events. this allows you to alt-tab during a dnd. 2007-04-22 15:22:25 +00:00
Dana Jansens
4c672be2e1 remove grab_pointer_window, nothing used it 2007-04-22 14:37:14 +00:00
Dana Jansens
48f237203b start on the current desktop when a wm was already running 2007-04-22 14:16:33 +00:00
Dana Jansens
ff43372da7 only pass thru events when the menu is open, don't for other stuff 2007-04-22 14:07:29 +00:00
Dana Jansens
a70633d42a eat enter events after unmanaging a window
change how focus falls back for windows being unmanaged, don't fall back immediately, instead wait for the focus out event and use it (break stuff maybe! yay)
2007-04-22 13:53:28 +00:00
Dana Jansens
63f1b1230c don't fallback to the desktop again when leaving show-desktop-mode 2007-04-22 04:42:33 +00:00
Dana Jansens
6e7abeb860 engrish 2007-04-22 04:35:23 +00:00
Dana Jansens
939fbcfd31 add a comparitor to timers. use this in event.c to let you remove timers from the queue selectively for delayed focus 2007-04-22 04:16:00 +00:00
Dana Jansens
8612fcfb99 better matching of the menu titles/separators to the theme 2007-04-22 03:54:43 +00:00
Dana Jansens
5a3a7668d9 highlight for motion events in the menu too, this is useful when the enter gets ignored cuz the mouse was already inside it 2007-04-22 03:18:55 +00:00
Dana Jansens
51c3c8c34a give labeled separators borders 2007-04-22 03:13:41 +00:00
Dana Jansens
73b490f614 stop delayed focusing when falling back 2007-04-22 03:02:13 +00:00
Dana Jansens
57ffea1123 fix segfaults 2007-04-22 02:49:52 +00:00
Dana Jansens
98b021ff0c properly handle clients disappearing during delayed focus on them 2007-04-22 02:35:22 +00:00
Dana Jansens
5009498d59 use the timestamp from the original enter when delay-focusing a window 2007-04-22 02:34:05 +00:00
Dana Jansens
a5caab959c ignore crossing events while an interactive grab is going on.
when a menu is open, use the crossing events for the menu only.
2007-04-22 02:12:32 +00:00
Dana Jansens
05d1a86eff fix a segfault 2007-04-22 01:09:20 +00:00
Dana Jansens
b6897feb40 better event handling for menus 2007-04-22 00:53:21 +00:00
Dana Jansens
957963e272 1) get rid of menu titles
2) let separators have labels, when they have a label, then they will appear like a menu title used to

so if you want a menu title, you use a separator in the menu itself at the top

more style work may be needed
2007-04-22 00:36:54 +00:00
Dana Jansens
854b2ae684 grab enter/leave events during mouse grabs and pass events along still during the grab. this is needed to catch enter/leave events in the menus. it seems to not be weird with apps. 2007-04-22 00:35:36 +00:00
Dana Jansens
8644a47cb7 handle enter/leave events in the menu 2007-04-22 00:31:03 +00:00
Dana Jansens
78d7250098 add --debug-focus
add --config-file: to specify a config file to use.

set OPENBOX_RC property on the root window containing the path of the RC file being the full path to the RC file being used by openbox
2007-04-21 22:06:47 +00:00
Dana Jansens
8a972b3879 ignore BadMatch errors that can't be avoided 2007-04-21 21:36:02 +00:00
Dana Jansens
0e9bd66b75 fixes for transients
1) don't count non-normal windows as parents when placing/stacking transients
2) in stacking.c, when a window is transient for the group but has no parents, then don't loop forever looking for its parents
2007-04-21 21:32:21 +00:00
Dana Jansens
3f2d342de8 hide focus debugging messages 2007-04-21 21:04:35 +00:00
Dana Jansens
d713bdf462 remove the client_time_heap thing. actually its better to just use the user_time on the currently focused window I think. that will handle panels and things too. 2007-04-20 05:22:23 +00:00
Dana Jansens
90cd9c6219 get rid of global client_last_user_time variable.
add ObClientTimeHeap. This is a max-heap of the clients based on their user times. this only includes the clients whose user time is not CurrentTime. the maximum from this heap replaces the client_last_user_time variable, so that you always have the latest time, not the last time that was changed.

hoefully it works, so far it seems to.
2007-04-18 19:22:59 +00:00
Dana Jansens
f18d9a9539 don't allow comparison with timestamps to CurrentTime. it just doesn't make any sense.
(also client interface changed, that is in the next commit)
2007-04-18 19:21:14 +00:00
Dana Jansens
34196a1ef3 make stacking_add_nonintrusive work when there is only 1 other window 2007-04-18 19:19:45 +00:00
Dana Jansens
7f11e15bb8 fix undermouse placement 2007-04-18 17:18:16 +00:00
Dana Jansens
64dda2375e saved session information overrides per-app settings, because that's how you set it up in the session 2007-04-12 14:54:54 +00:00
Dana Jansens
33c469f453 set the desktop from per-app-settings properly, i think.
also fix a compiler warning.
2007-04-12 14:47:54 +00:00
Dana Jansens
7a1a6da849 better synthetic configurenotify handling. in particular..
http://bugzilla.gnome.org/show_bug.cgi?id=399552
on unmap, when we move the client window, we need to send a synthetic configurenotify.
2007-04-12 14:44:17 +00:00
Dana Jansens
ceaf23b6b4 set event_curtime if we're going to use it only 2007-04-12 02:26:58 +00:00
Dana Jansens
fda5ddfe16 excessive debug printing.. :) 2007-04-12 02:26:41 +00:00
Dana Jansens
c03c08415f don't fallback when a window is hidden right away, it's redundant, we'll get a focusout for the window after the unmapnotify anyways.
show new windows when switching desktops before hiding the old windows.
2007-04-12 02:26:26 +00:00
Dana Jansens
7059cde13b http://mail.gnome.org/archives/wm-spec-list/2006-May/msg00000.html
Send ConfigureNotify events when a window is mapped at the position it has specified. When we add decorations, the window gets moved in reference to the root window, so it needs to be told.
2007-04-05 03:59:24 +00:00
Dana Jansens
8d7cc2597e the centered menus thing got annoying :| 2007-03-30 18:29:28 +00:00
Dana Jansens
e6e9ab9224 unset DESKTOP_STARTUP_ID at startup so we don't pass it on unknowingly. 2007-03-30 16:18:25 +00:00
Mikael Magnusson
41c6b0486d delete the SN env var after launching a program 2007-03-30 09:57:21 +00:00
Dana Jansens
0eaf2d15e7 fully maximize windows all the time. size increments are preferred sizes not required ones.
-- http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.2.3
2007-03-30 04:37:53 +00:00
Dana Jansens
00ddaf06bb can't use (unsigned)-1 for a max time, because timestamps wraparound and stuff. user the last_user_time as a default for new windows instead. 2007-03-28 19:57:07 +00:00
Dana Jansens
6372bd7c0d use CurrentTime constant 2007-03-28 19:42:45 +00:00
Dana Jansens
2876f22088 use CurrentTime when time gets moved backwards 2007-03-28 19:41:41 +00:00
Mikael Magnusson
fc5b9a5612 fix compile without startup notification after r5711 2007-03-28 17:05:23 +00:00
Dana Jansens
f746a4975b use setenv to set up the DESKTOP_STARTUP_ID when launching programs.
before, if DESKTOP_STARTUP_ID was set in openbox, it would mess up adding it to the child's environment because it would appear twice. so now it will only appear once for the child always.
2007-03-28 06:00:19 +00:00
Dana Jansens
3ad050f7d8 proper logic for event_time_after, and wraparounds and such 2007-03-28 04:07:27 +00:00
Dana Jansens
5fb30e4488 add toggled-pressed and toggled-hover button states to themes. also rename toggled to be toggled-unpressed 2007-03-28 03:32:46 +00:00
Dana Jansens
33cc572402 drop some wasted client_validates. 2007-03-28 02:00:10 +00:00
Dana Jansens
d20f84f5de more handling time wraparounds 2007-03-28 01:53:37 +00:00
Dana Jansens
339d767044 handle time wrapping around. 2007-03-28 01:52:06 +00:00
Dana Jansens
0ec2282e2c make sure the ungrab happens after the grab. fracking X server doesn't have a monatomic clock.. 2007-03-28 01:11:40 +00:00