Dana Jansens
3b48aa4ea2
fix a rare assert condition (window maps in iconic state but is not allowed to be iconic)
2008-01-27 23:38:28 -05:00
Mikael Magnusson
d783705141
Change <placeOn> to <monitor>.
2008-01-27 21:03:55 +01:00
Dana Jansens
dd740b5562
replace the <active> placement option with <placeOn>active/mouse/any</placeOn>
2008-01-27 11:31:23 -05:00
Dana Jansens
d409936faa
get rid of copying the rrappearances for each menu frame, except for the one that is actually useful
2008-01-27 04:59:39 -05:00
Dana Jansens
a4d13100e6
use setenv/unsetenv instead of putenv, cuz they are not ugly and confusing wrt memory leaks
2008-01-27 04:25:09 -05:00
Dana Jansens
3a03a554f0
window a window stops responding to pings, don't use the xsync protocol while resizing it - its not going to be responding to it anyways
2008-01-27 03:17:50 -05:00
Dana Jansens
ee0477d167
only store icons for windows that are 64px or smaller, as we don't have need for any bigger icons at this time. unless they only provide icons bigger than that, then just store one of them (the smallest)
2008-01-27 03:14:35 -05:00
Dana Jansens
6be65a7ddd
we alloc theme elements for every window frame, but really it is unneccesary
2008-01-27 02:53:26 -05:00
Dana Jansens
dd8cb753c1
add a missing #include
2008-01-27 02:41:21 -05:00
Dana Jansens
8af80aa8dd
when ignoring enter events, only ignore up to the current serial (NextRequest()-1). Don't ignore enters that come after this with the next serial.
2008-01-27 02:39:39 -05:00
Dana Jansens
4307366b71
create fake enter events for button press bindings. only swallow enter events when focus.undermouse is not on (for non-mouse actions)
2008-01-27 02:39:39 -05:00
Mikael Magnusson
2c05d1fb52
Add a few missing includes and remove a stray debug printf.
2008-01-26 18:48:35 +01:00
Dana Jansens
be71b344fa
only add borders and stuff to the dock's size if it is holding anything. otherwise it gets a non-zero size which messes with resistence/placement/etc
2008-01-26 01:17:56 -05:00
Dana Jansens
1c2ec09e43
fix a memleak in client_update_icon_geometry
2008-01-25 10:32:39 -05:00
Dana Jansens
01a60706be
fix a mem leak
2008-01-25 10:29:49 -05:00
Dana Jansens
7b181fe23d
fix a mem leak
2008-01-25 10:27:44 -05:00
Dana Jansens
41aeb42af1
Create fake enter events in fewer situations - avoiding times that you don't actually want them. Ignore event serials without using XSync, so that we aren't doing an XSync 100 times per minute - slow!
2008-01-25 10:21:24 -05:00
Mikael Magnusson
1d9991a0cd
Fix some memleaks.
...
missing RrFontClose for osd_font in two places.
missing a g_free(area);
2008-01-25 13:29:46 +01:00
Dana Jansens
3febcbb9ae
skip enter events caused by temporarily raising windows during alt-tab. also caused by the focus cycle indicator moving
2008-01-25 00:48:45 -05:00
Dana Jansens
bed3cb7a30
strip non-modifier masks from the keyboard state for keyreleases when xkb is present too
2008-01-24 20:19:33 -05:00
Dana Jansens
f476442531
print a warning when the session has a different number of desktops than the openbox config
2008-01-22 13:01:56 -05:00
Dana Jansens
1b33ab6c0d
use the <wmclass> for startup notfication in the execute action. when present don't use the check against the binary.
2008-01-21 22:27:03 -05:00
Dana Jansens
b77a03a1f2
only unset the startup_desktop_id once, and dont free the string we pass to putenv
2008-01-20 18:34:26 -05:00
Dana Jansens
6a8a8531ba
check them startupnotify-provided wmclass against both parts of a window's wm_class hint, as the spec doth say so.
2008-01-20 09:52:10 -05:00
Dana Jansens
2c6240fd2f
putenv wants a char*, not a const
2008-01-20 01:36:37 -05:00
Mikael Magnusson
d3c1117fb4
Remove leftover config_four_corners from config.c.
2008-01-17 01:26:15 +01:00
Dana Jansens
cccc57fdb0
make the ping hash tables work correctly. don't need to stop pinging, it will automatically. and not all windows get pings, even tho we get notified that they are being destroyed
2008-01-16 19:21:42 -05:00
Dana Jansens
7630f66035
only 1 hash table is needed in ping.c
2008-01-16 18:53:15 -05:00
Dana Jansens
299687110d
use hash tables in ping.[ch] instead of a list. we're pinging every window, not just windows youre trying to close, so don't use datastructures that suck with lots of windows..
2008-01-16 18:44:22 -05:00
Dana Jansens
2ee4251092
use unique IDs for pings rather than a timestamp. avoids duplicates.
2008-01-16 18:16:49 -05:00
Dana Jansens
9e18dbe0ee
friendly check for the timer's delay being > 0
2008-01-16 10:31:12 -05:00
Mikael Magnusson
0be98fee47
Various fixes for sparse warnings.
...
Define void functions with (void), not ().
Add missing includes.
Some functions were declared static but defined non-static.
Some variables that should be file static were file global but not used in any other file.
prop.h defined a new prop_atoms in each file that included it instead of declaring it extern.
2008-01-16 15:35:25 +01:00
Dana Jansens
cafba3acf3
active = FALSE when not active !
2008-01-16 01:16:47 -05:00
Dana Jansens
ff78d28f8b
fix timers so that they work when theres lots of repeating timers in the queue..
2008-01-16 00:54:17 -05:00
Dana Jansens
ba6dcc15f8
add the new pid and ping atoms to the NET_SUPPORTED list
2008-01-16 00:24:56 -05:00
Dana Jansens
cfc8101333
don't let repeating timers, with a very fast timer in the queue, cause the main loop to run the timers forever
2008-01-15 23:28:30 -05:00
Dana Jansens
7bd8e97fbb
rework and comment out some debugging prints
2008-01-15 22:56:37 -05:00
Dana Jansens
053558dc5f
add a comment
2008-01-15 22:53:05 -05:00
Dana Jansens
f9f32d9fba
cant consistently tell if we should use WM_DESTROY after the first time they try close a window.. so just kill when "not responding" is showing
2008-01-15 22:51:04 -05:00
Dana Jansens
d5c824cfd4
only ping windows that we need to
2008-01-15 22:36:45 -05:00
Dana Jansens
810afd8597
ping all the windows every 3 seconds, and show "not responding" if they stop replying for 3 times (9-12 seconds). show [Killing...] in the titlebar when trying to kill an app off
2008-01-15 22:34:04 -05:00
Dana Jansens
dbce9ee243
its possible we did kill -TERM and it stayed alive and started responding again, so handle that case
2008-01-15 22:15:45 -05:00
Dana Jansens
e6d33facc8
when you close an app and it stops responding.. if you hit close again, it will try kill -TERM. if that fails and you close again, it will kill -9 ! (assuming the app is running on the local host and provided its PID)
2008-01-15 22:13:16 -05:00
Dana Jansens
07994cb2dc
when you close a window that you already tried to close and its not responding to pings, then do a kill the next time
2008-01-15 22:00:21 -05:00
Dana Jansens
d3e9fc8941
show [Not Responding] in the titlebar when closing an app and it stops responding to pings
2008-01-15 21:57:47 -05:00
Dana Jansens
fb7a71da20
can tell when a window that was "closed" has stopped responding now
2008-01-15 21:43:23 -05:00
Dana Jansens
d790dc162d
check if a client will respond to pings
2008-01-15 20:48:28 -05:00
Dana Jansens
2b5d4b6997
the inner border's corners weren't having events handled on them correctly, which was messing with resizing. yay akk for finding this.
2008-01-15 20:33:56 -05:00
Dana Jansens
d122c973ca
fix the context given off by the borders in the br corner
2008-01-16 02:08:42 +01:00
Dana Jansens
26f34d3ba0
resizing was defaulting to the topleft corner instead of to the auto-ness or something..
2008-01-16 02:08:42 +01:00
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