Commit graph

2871 commits

Author SHA1 Message Date
Dana Jansens
ed51baa958 remove the visible window title hints when unmanaging a window. not all WMs set those and it messes them up, and we'll set them again appropriately, they don't need to be saved. 2008-01-16 02:08:42 +01:00
Dana Jansens
6dfc3c726a don't skip windows that are skip_taskbar unless they are normal typed.. i.e. if a dialog sets this don't skip it (gnome shutdown/logout dialogs don't get focused otherwise in arch linux) 2008-01-13 03:40:14 -05:00
Dana Jansens
5148b839fe sync when killing all keyboard grabs, so that we can be sure they are gone before proceeding (fixes a race condition when running things that want to grab the keyboard very quickly. yes, arch is that fast somehow..) 2008-01-13 02:50:34 -05:00
Mikael Magnusson
64905704e9 Update --version output copyright year to 2008. 2008-01-12 23:07:34 +01:00
Dana Jansens
df73dfa049 make the dock's hiding always have at least 1px on screen 2008-01-12 16:17:22 -05:00
Dana Jansens
32c3a97f2e fix a copy/paste bug in placing the move&resize popup 2008-01-12 13:31:46 -05:00
Dana Jansens
669c7655be since the internal windows are in window_map now, it's possible we'll get them back when we check what window an event happened on. so don't abort if that happens anymore. 2008-01-11 23:16:06 -05:00
Dana Jansens
5d533d9fe2 fix a small bug introduced that broke per-app placement 2008-01-11 21:33:46 -05:00
Dana Jansens
405d9a3e43 dont reparse the config file when the keyboard map changes. just rebind everything. yay for mika as inspiration 2008-01-11 21:19:58 -05:00
Dana Jansens
c2e495c720 make a GravityPoint and GravityCoord data structures for those --x, ++y type values 2008-01-11 20:58:03 -05:00
Dana Jansens
17bc51aab8 let you specify the resize popup to be in a fixed place 2008-01-11 20:24:16 -05:00
Dana Jansens
b7e23f286a make the focus cycle indicator be in the window_map so button presses on it are handled right 2008-01-11 19:45:30 -05:00
Dana Jansens
22333336d3 add an <active> option for window placement, to try force new windows on the active monitor (for xinerama) 2008-01-11 19:32:45 -05:00
Dana Jansens
602a73c15c make fake xinerama happen even when xinerama is enabled 2008-01-11 19:30:29 -05:00
Dana Jansens
d7b25da169 make the window_startup happen before the focus_cycle_popup startup, so that the popups can be added to the window map properly 2008-01-11 19:05:04 -05:00
Dana Jansens
040d344a89 don't take KeyRelease events for menus until they receive a KeyPress event first. avoid using the key binding used to show the menu to execute something inside it. 2008-01-11 18:57:32 -05:00
Dana Jansens
78cd9bba52 continue commit 2b80e4e8ef - remove debug code, and some unneeded stuff 2008-01-11 18:33:43 -05:00
Dana Jansens
bf259be653 fixes from commit 0ce14a7279
the xsync was needed to get the right serial for the end of the ignore range
2008-01-11 18:28:35 -05:00
Dana Jansens
2b80e4e8ef ignore mouse clicks on override-redirect windows that aren't owned by openbox 2008-01-11 18:13:12 -05:00
Dana Jansens
6133bbd5f7 try to comment the code for when to save the "last desktop" 2008-01-11 17:24:57 -05:00
Dana Jansens
8a2adbb058 make the time to remember last desktop a #define, and make it 750ms 2008-01-11 16:53:26 -05:00
Mikael Magnusson
b3764dd433 Don't record desktops for lastdesktop when switching away quickly again.
When switching desktops, only record the previous desktop as the last
desktop if the user stayed there for a while. This way you can scroll
over a couple desktops quickly, then go back to the previous desktop
you _used_, not the last you scrolled past.
2008-01-11 16:37:23 -05:00
Dana Jansens
e61f58462f freeze onscreen stacking order changes while a temp raise for focus cycling is occuring 2008-01-11 16:29:11 -05:00
Dana Jansens
22c102572e fix a crash when reconfiguring during focus cycling 2008-01-11 16:26:16 -05:00
Dana Jansens
ea371936ce let you raise the focus target temporarily during focus cycling, with the <raise> option. also a new <bar> option lets you turn off the indicator bar 2008-01-11 16:11:51 -05:00
Dana Jansens
746015e88c make backport closer to 3.4-working for merging purposes 2008-01-11 15:36:31 -05:00
Dana Jansens
abc67cbdc1 make it possible to temporarily raise a window to the top, and restore it. also fix the return val for window_layer. 2008-01-11 15:28:26 -05:00
Dana Jansens
1789d45645 fix a warning from crappy libc apis 2008-01-11 15:18:04 -05:00
Dana Jansens
0ce14a7279 fix a focus race condition in two ways:
1. when focusing a window, ignore any enter events up until the serial of the X event causing the focus, not up until the last thing sent to the server.  if we get 2 enters very quickly, then we don't want to ignore the second one just because we are focusing the first window.
2. there is a race if you check (focus_client != d->client) in the delay_focus_func, because the current focused window might change by the time this focus_client would take effect, so don't check that.
2008-01-11 14:40:58 -05:00
Dana Jansens
b447f16f60 code clean up 2008-01-11 13:06:37 -05:00
Dana Jansens
162a97e158 XKB modifiers are strange things, and i don't know how to read them properly in modkeys.c and convert it all to the x core stuff. so we use this to get the state of the modifiers, otherwise we end up missing them sometimes (like on PPC) 2008-01-11 13:05:11 -05:00
Dana Jansens
5a468756c0 reconfigure openbox when the input mapping changes, eg. keyboard layout or modifier map 2008-01-11 11:42:09 -05:00
Dana Jansens
8a51893e8b Revert "fix for xkb weirdness, to fix a bug introduced in 3.4.3, where releasing the super mod key would not end interactive actions."
This reverts commit 47e7aa82dc.

This is an XKB problem, and it needs to be properly resolved with XKB functions
2008-01-11 11:21:00 -05:00
Dana Jansens
44ee90c946 Bug#: 3328 - remove top border for maxed undecorated windows 2008-01-11 10:00:58 -05:00
Dana Jansens
9e9a7e124d allow dialog windows to be fullscreened, kpdf does this 2008-01-11 09:46:07 -05:00
Mikael Magnusson
5f045992f1 Add --exit. 2007-11-12 19:17:30 +01:00
Mikael Magnusson
dc6564619f Try to fix the popup only showing up on monitor 0.
screen_find_monitor() should perhaps contain that big hunk of logic, I don't know if
anything will break now that it returns screen_num_monitors sometimes. We'll see!
2007-10-31 08:10:59 +01:00
Mikael Magnusson
8cdf412aed Change setenv and unsetenv to putenv for portability.
Solaris apparently does not have setenv and unsetenv.
2007-10-18 08:25:34 +02:00
Mikael Magnusson
556eb7b7fb ANSI function declarations, ie () -> (void) 2007-09-04 06:27:10 +02:00
Mikael Magnusson
1492bd0e7d Fix shadowed variables 2007-09-04 06:25:06 +02:00
Mikael Magnusson
c12d09bde8 Fix calling functions with wrong number of arguments 2007-09-04 06:23:54 +02:00
Dana Jansens
78add17077 hide the desktop popup when showing the directional focus popup too 2007-08-23 09:08:38 -04:00
Mikael Magnusson
e4f24d84a0 Hide the desktop cycle popup when the focus cycle popup is shown. 2007-08-22 18:00:12 +02:00
Mikael Magnusson
c870786774 Only copy execute_func to the more_menu.
Also don't bother copying NULL around in menu_new.
2007-08-07 05:17:50 +02:00
Mikael Magnusson
f2b94f18a5 Another leaked Rect *a 2007-08-07 04:34:42 +02:00
Mikael Magnusson
e5c7c95f2d Squash one more leak 2007-08-07 04:24:48 +02:00
Dana Jansens
c6b2272564 proper constness 2007-08-06 22:15:59 -04:00
Dana Jansens
d3ff019f53 more clear code? 2007-08-06 22:12:20 -04:00
Mikael Magnusson
d658612cac Fix another memleak 2007-08-07 03:58:02 +02:00
Mikael Magnusson
7f53478977 Fix some memleaks 2007-08-06 03:09:55 +02:00
Dana Jansens
d5dc910d6d When halting focus-follows-mouse, ignore any enter events that were generated before the halting process too. 2007-08-05 12:13:41 -04:00
Dana Jansens
fa085b7338 fix edge detection, it was skipping edges sometimes 2007-08-04 17:39:49 -04:00
Dana Jansens
2c50fae347 let you select an omnipresent window on another desktop 2007-08-04 15:24:59 -04:00
Dana Jansens
fba55d8d9f make growtoedge shrink if it cyan grow any more 2007-08-04 14:04:22 -04:00
Dana Jansens
758ef2cafa move the submenus to the top of the client menu by popular demand. 2007-08-04 13:36:08 -04:00
Dana Jansens
0cfd92ab9e don't make omnipresent windows lose focus when changing desktops. this is done by allowing focus_fallback to specify if focus has been lost or not. usually if you're call it, focus is lost, but not always. 2007-08-04 13:29:13 -04:00
Dana Jansens
ac59dd4fe5 don't focus new windows if they appear on another desktop and a relative is not focused 2007-08-04 12:57:34 -04:00
Dana Jansens
29e94a9e59 make the default time for the desktop notificatin 875ms 2007-08-04 12:11:08 -04:00
Dana Jansens
82438c21ec add resize corners to the bottom corners of the inner client border 2007-08-04 11:38:01 -04:00
Mikael Magnusson
f94fe1b847 Remove edge switching timer before adding it again. 2007-08-04 13:21:25 +02:00
Dana Jansens
b6b9124ad0 only use user_time updates if they are on the focused window 2007-08-04 00:43:25 -04:00
Dana Jansens
c7e0368a4b fallback focus when removing a desktop without doing a fake desktop switch 2007-08-03 20:58:10 -04:00
Dana Jansens
9c9095ffac place windows in the largest area not the widest one, reverts to 3.4.2 behavior so the dock doesn't screw up placement 2007-08-03 20:46:11 -04:00
Dana Jansens
3b4b52921a show a popup notification when switching desktops (also make all the config options export time in milliseconds not half milli half micro) 2007-08-03 20:40:13 -04:00
Dana Jansens
1ed9988132 don't make delayed focus-follows-mouse interupt menus and move/resizes 2007-08-03 19:50:36 -04:00
Dana Jansens
fa05df8b0c make warping on screen edge keep firing if you don't move the mouse away from the edge (but it slows down after the first time) 2007-08-03 18:20:33 -04:00
Dana Jansens
6593261f30 new least-intrusive focus stealing prevention 2007-08-03 18:11:27 -04:00
Mikael Magnusson
074bd96696 Change resizing terminals to work for top and left edges too, the code is a little ugly. 2007-08-03 13:17:05 +02:00
Dana Jansens
dacc9dac7a remove focus-stealing-prevention stuff, don't use user_time crap at all. it is broken in every application that has ever used it. ever. ever. \^_^/;;; 2007-08-01 23:35:31 -04:00
Dana Jansens
bfb0c91671 symmetry..tho it's not used right now 2007-08-01 23:19:39 -04:00
Dana Jansens
80120d0487 don't force oldschool fullscreen windows to move inside struts (fixes acroread some more, along with previous commit) 2007-08-01 19:09:30 -04:00
Dana Jansens
44802ea327 fix for acroread - don't shrink windows when they specifically fit an entire monitor 2007-08-01 18:54:02 -04:00
Mikael Magnusson
7c7bfd770d Accept <command> in addition to <execute> for the restart action. 2007-07-31 12:37:31 -04:00
Dana Jansens
9005a02c5c don't propagate mouse button events on dock windows thru to the root window 2007-07-30 01:47:13 -04:00
Dana Jansens
47e7aa82dc fix for xkb weirdness, to fix a bug introduced in 3.4.3, where releasing the super mod key would not end interactive actions.
Somehow Super_L is being bound to Mod4Mask without being in the modifier table.  So we're doing some workarounds to find _all_ the keycodes for Super_L and use any of them to count as Mod4Mask.
2007-07-26 10:48:06 +02:00
Dana Jansens
92f80b2557 use the moveresize client to find the active monitor too 2007-07-26 10:48:05 +02:00
Dana Jansens
9aed919554 fix directional edge finding for xinerama, so that it can skip across to the next monitor 2007-07-26 10:48:05 +02:00
Mikael Magnusson
9ee03ecd27 make move and resize resist care about the dock 2007-07-26 10:48:05 +02:00
Dana Jansens
bca44f9d20 raise new windows when they aren't getting activated in a couple cases
1. when we're not activating it because the user has a menu open or is moving/resizing a window
2. when we're not activating it because it's opening on another desktop
2007-07-24 14:51:59 -04:00
Dana Jansens
2dcdad6a58 remove unused variable 2007-07-22 11:50:15 -04:00
Dana Jansens
172e93b350 add an 'all' option for the monitor in MoveResizeTo 2007-07-22 09:32:30 -04:00
Dana Jansens
64c59b7456 for MoveResizeTo make <width>current</width> and <height>current</height> and <monitor>current</monitor> work like <x> and <y> 2007-07-22 08:53:15 -04:00
Dana Jansens
dd41ae9889 for MoveResizeTo, make <x>current</x> the same as not specifying <x/> at all 2007-07-22 08:25:18 -04:00
Dana Jansens
040b451ed0 fix a crash with the focused client closing during the delay of a submenu being shown (and add an assert for this too) 2007-07-21 23:56:26 -04:00
Dana Jansens
84cdb2be99 don't focus new windows when the user is in a menu or move/resizing a window 2007-07-21 23:11:42 -04:00
Dana Jansens
1c98d2e3a6 kill moveresize cleanly if focus is moving (it uses a keyboard grab) 2007-07-21 23:08:43 -04:00
Dana Jansens
41f90931ff fix copy/paste error 2007-07-21 15:48:12 -04:00
Dana Jansens
2039347463 remove mysterious xkb code... 2007-07-21 09:52:43 -04:00
Dana Jansens
0545563b19 be explicit about the event 2007-07-21 09:48:10 -04:00
Dana Jansens
9713a629d7 cleanup 2007-07-21 09:45:56 -04:00
Dana Jansens
4fa86a7073 don't resist in orthoganal directions when key resizing windows with aspect ratios 2007-07-20 20:50:29 -04:00
Dana Jansens
9091da403e don't move parents and children over when inserting desktops - cuz then they all get moved a bunch of times, just move the top direct parent 2007-07-20 20:37:18 -04:00
Dana Jansens
eb0e483405 remove a debug print 2007-07-20 20:27:04 -04:00
Dana Jansens
f0e82075a1 let you resize aspect ratio windows in north and south directions, and make them resist properly when resizing 2007-07-20 20:23:35 -04:00
Dana Jansens
019e803559 the resistance resizing has been changed from "lock corner" to "the direction being resized" which makes so much more sense and doesn't need all this conversion back and forth 2007-07-20 20:10:20 -04:00
Dana Jansens
c06971c162 don't crash from very short windows 2007-07-20 16:13:15 -04:00
Mikael Magnusson
d7ca010dd4 xml values for per app settings should be case insensitive
change strcasecmp to g_ascii_strcasecmp
2007-07-20 16:21:55 +02:00
Dana Jansens
7f741ba919 don't resist when resizing terminals with the keyboard 2007-07-19 15:52:46 -04:00
Dana Jansens
730062cac9 fix growtoedge so it doesn't move terminal windows around 2007-07-19 15:34:08 -04:00
Dana Jansens
52480d87e4 missing header 2007-07-19 14:56:44 -04:00
Dana Jansens
e85b430648 decorate actions were backwards 2007-07-19 14:55:22 -04:00
Dana Jansens
43ffc6fcc5 use keypress for navigating the menu but use keyrelease for running things 2007-07-19 14:34:56 -04:00
Dana Jansens
e4f055b0c1 use keyrelease to fire menu actions not key press
when keypress is used, the keyrelease gets sent to whatever window is focused.  if it's a stupid program - like most any program - it will update its user_time, preventing the new window from being focused
2007-07-19 14:24:30 -04:00
Dana Jansens
a9065160c9 don't restack windows when they request it with an invalid sibling 2007-07-18 17:07:54 -04:00
Dana Jansens
551528c57f take care when sibling is specified as an unmanaged window 2007-07-18 15:45:22 -04:00
Dana Jansens
73b3838d5e Grab the server when mapping a client and frame, to avoid race conditions 2007-07-18 15:04:36 -04:00
Mikael Magnusson
77baf26a7f remove trailing whitespace 2007-07-17 02:48:16 +02:00
Dana Jansens
e5a797f10d don't make moving terminals jump at the start 2007-07-16 14:29:41 -04:00
Dana Jansens
49b14e7bf5 Don't cancel interactive action when another one is run which shares the same run function. This is how actions can cooperate! 2007-07-15 13:27:33 -04:00
Dana Jansens
a9f2b2c681 a number for placing windows, to keep them on screen, but let you place them off-screen
1. when a window is not on any monitor, don't just ignore it, stick it on the first monitor arbitrarily (rather than the closest monitor - room for improvement?)
2. when placing a window with per-app settings, don't rudely force it back on screen fully.
2007-07-15 12:35:10 -04:00
Dana Jansens
2ff02fc55e don't use freed memory as the coordinates to place windows 2007-07-15 12:17:47 -04:00
Dana Jansens
fd8af998ea was incorrectly using the width for calculations instead of the height in client_find_onscreen 2007-07-15 11:45:55 -04:00
Mikael Magnusson
4b095c1ca2 previous should not mean the same as last 2007-07-15 01:41:30 +02:00
Mikael Magnusson
9d593db034 no splitting _() strings 2007-07-14 16:04:30 +02:00
Mikael Magnusson
e2da61b2e7 Merge branch 'master' of git://orodu.net/openbox 2007-07-14 15:25:41 +02:00
Mikael Magnusson
8ad51aef1e 80 cols everywhere 2007-07-14 15:22:35 +02:00
Dana Jansens
27a0f0f4c9 split the focustobottom action back out from unfocus 2007-07-14 09:17:39 -04:00
Mikael Magnusson
95c58160c1 80 cols in dock.c 2007-07-14 15:15:16 +02:00
Dana Jansens
b580cf99dd ok i take that back 2007-07-13 17:32:11 -04:00
Dana Jansens
d857f9fa33 i know c...honest. 2007-07-13 17:31:56 -04:00
Dana Jansens
5302cf10a3 add hardcoded key binds back 2007-07-13 17:30:51 -04:00
Dana Jansens
4dbce5e505 fix directionalcycle/target 2007-07-13 17:25:54 -04:00
Dana Jansens
ecd6820a78 move dockautohide back to ToggleDockAutoHide 2007-07-13 17:16:11 -04:00
Dana Jansens
0401e73fb8 moev showdesktop back to ToggleShowDesktop 2007-07-13 17:15:57 -04:00
Dana Jansens
6689ad2320 move menu action back to ShowMenu 2007-07-13 17:14:33 -04:00
Dana Jansens
c6f2875d61 move directionalcycling actions into the same .c file. make interactive actions all kill delayed mouse focus which would kill the action. 2007-07-13 17:12:40 -04:00
Dana Jansens
70a80ba763 make cyclewindows action into nextwindow and previouswindow again 2007-07-13 16:49:26 -04:00
Dana Jansens
2464e59330 rename switchtodesktop to gotodesktop. make stuff compile as well. 2007-07-13 16:39:27 -04:00
Dana Jansens
cfa96390e8 move desktop and directionaldesktop actions to SwitchToDesktop and SendToDesktop, which take a <to> parameter saying where to go. (last, left, right, next, 5, etc) 2007-07-13 16:36:41 -04:00
Dana Jansens
a3e77fb0c7 update hardcoded bindings to previous changes 2007-07-13 14:43:15 -04:00
Dana Jansens
2c9d6c8cab fix up the sendtolayer actions 2007-07-13 12:33:55 -04:00
Dana Jansens
23c8f0bc5b split layer action back into togglealwaysontop, togglealwaysonbottom, and sendtolayer (which takes <layer> as an argument) 2007-07-13 12:19:17 -04:00
Dana Jansens
3e94f9e642 redo the maximize actions into maximize/unmaximize/togglemaximize with a <direction> argument 2007-07-13 12:03:40 -04:00
Dana Jansens
27aec195ac let you specify up/down as well as top/bottom for resizerelative action - backwards compat 2007-07-13 11:37:53 -04:00
Dana Jansens
6ed8bd929d let you specify <command> or <execute> for execute actions - backwards compat 2007-07-13 11:37:10 -04:00
Dana Jansens
ddea4dcedd split decorations into decorate/undecorate/toggledecorations 2007-07-13 11:29:00 -04:00
Dana Jansens
6c538915c8 rename fullscreen back to togglefullscreen 2007-07-13 11:24:38 -04:00
Dana Jansens
07df190949 don't move focus if the window appears or disappears 2007-07-13 11:24:26 -04:00
Dana Jansens
bea270cac5 make omnipresent back into toggleomnipresent 2007-07-13 11:22:34 -04:00
Dana Jansens
1af52f6b8d adding comments 2007-07-13 11:22:14 -04:00
Dana Jansens
9a0aab8d8d split shade back into shade/unshade/toggleshade 2007-07-13 11:18:34 -04:00
Mikael Magnusson
355981bf14 use dock_get_area instead of accessing dock struct directly 2007-07-13 16:14:02 +02:00
Mikael Magnusson
fc32204f3c split out edge detecting code a bit so it is easy to add the dock area and do that too 2007-07-13 14:37:15 +02:00
Mikael Magnusson
3234a75083 change dock to use a Rect area instead of four ints 2007-07-13 14:21:39 +02:00
Dana Jansens
e60eb1befe removing composite.h 2007-07-12 23:55:42 -04:00
Dana Jansens
6377d2ee58 fix building without startup notification
Signed-off-by: Dana Jansens <danakj@orodu.net>
2007-07-12 23:42:25 -04:00
Dana Jansens
abff95bc50 only add group transients when you have a group
Signed-off-by: Dana Jansens <danakj@orodu.net>
2007-07-12 16:30:05 -04:00
Dana Jansens
35b87d6d38 Remove composte.c
Signed-off-by: Dana Jansens <danakj@orodu.net>
2007-07-12 03:46:56 -04:00
Dana Jansens
4b73574406 adding trunk
Signed-off-by: Dana Jansens <danakj@orodu.net>
2007-07-12 02:57:08 -04:00
Dana Jansens
6f79080a4b fix grow to edge stuff. also fix key-resizing terminals. 2007-07-11 23:47:41 +00:00