Dana Jansens
d9e6aa5643
Add theme options for menu line separators.
...
Added:
menu.separator.color
menu.separator.width
menu.separator.padding.width
menu.separator.padding.height
2008-02-22 12:13:02 -05:00
Dana Jansens
fadc52e186
Allow windows to specify a base-size of 0
...
This fixes the resize popup for terminal windows, if the base-size was 0, the size popup would be off by one.
2008-02-22 10:52:04 -05:00
Dana Jansens
cd4f325ee7
Let ObPrompts be modal dialogs, and when they are transient for a window, make it transient for its entire group, so it can be stacked at the highest level above other transients
2008-02-22 10:38:14 -05:00
Dana Jansens
c49c2a8e40
If multiple key bindings at the same level are not able to be translated, then don't have them conflict and end up removing untranslated bindings from the key tree. This way they can be re-translated later.
...
This fixes keybindings getting lost when VMWare grabs the keyboard/pointer
2008-02-21 13:00:11 -05:00
Mikael Magnusson
2cb31da22c
Change all single quotes to double quotes in strings.
2008-02-21 12:02:18 +01:00
Mikael Magnusson
c1257fb4f9
MoveResizeTo was broken for opposite edges.
2008-02-19 18:44:49 +01:00
Dana Jansens
041d17373e
Fix button press behaviours. On LeaveNotify, make the button no longer pressed. On MotionNotify, only make it hovered if no button is pressed down. On EnterNotify, make it hovered or pressed as appropriate.
...
This fixes case where you left-click and hold on a button, then right click to open the menu - this used to leave the button in a pressed state.
2008-02-18 20:42:35 -05:00
Dana Jansens
5bfa48dcff
Grab key bindings with GrabModeSync, so that if they lead to a keyboard grab, then no keyboard events will be lost between the initial keybinding and the keyboard grab.
2008-02-18 20:42:35 -05:00
Dana Jansens
58788c7817
the focus indicator line for prompt buttons wasn't being displayed, since the texture type was no longer being set
2008-02-18 20:42:35 -05:00
Mikael Magnusson
71940dae6f
Fix some typos in comments.
2008-02-17 19:14:59 +01:00
Mikael Magnusson
6be85936ae
Add a comment for translators about how to change order of arguments.
2008-02-17 17:01:07 +01:00
Dana Jansens
4b71209ec8
make the frame iconify animation go right into the icon geometry area instead of stopping before it
2008-02-15 01:07:15 -05:00
Dana Jansens
0c8aca23eb
set the window type hint on menus to be "popup menus"
2008-02-14 23:04:54 -05:00
Dana Jansens
cec5480108
avoid a compiler warning
2008-02-14 15:11:25 -05:00
Dana Jansens
a2e3026d8a
add a bunch of comments for images and image caches. and make the number of resized pictures saved in an image tunable per-icon cache.
2008-02-14 15:10:14 -05:00
Dana Jansens
4c7cc1cfa6
Introducing the icon cache.
...
If an icon is the same as one in the cache, then it uses that one.
icons of different sizes (from the same client) are linked together into
one, and resizes of icons are cached and linked to all the various sizes.
so you only need one icon in memory for all your terminals now. ya!
2008-02-14 15:09:24 -05:00
Dana Jansens
911413d86c
obprompts do not have a stacking layer, as they don't appear directly in the stacking list
2008-02-14 14:30:10 -05:00
Dana Jansens
cd3aa44b6a
draw a box inside the key-focused button in an ObPrompt. also fix rendering the buttons when they are parent-relative.
2008-02-14 14:24:37 -05:00
Dana Jansens
415c0d2721
make ObPrompts resize and redraw correctly when reconfiguring and changing themes with them open
2008-02-14 14:24:37 -05:00
Dana Jansens
c778cf15cb
don't ping everything all the time. yay. ping when you close, and if it doesn't reply then show the kill prompt. also show a more correct prompt for windows connecting from non-local machines - ask to disconnect them from the X server.
2008-02-14 14:24:37 -05:00
Dana Jansens
4eecbeb611
tell what signal is going to be sent to the client when killing through the dialog
2008-02-14 14:24:37 -05:00
Dana Jansens
74a746e55f
use the hover and press button colors (this was a bug)
2008-02-14 14:24:37 -05:00
Dana Jansens
7b4556b211
don't kill our own ObPrompt windows with kill actions
2008-02-14 14:24:37 -05:00
Dana Jansens
972e1fc5a3
if a prompt is already showing and you try show it again, then make it active. in the "kill this?" prompt use the window's original title without any of the openbox-appended-ness
2008-02-14 14:24:36 -05:00
Dana Jansens
d714bb5708
prompt to kill windows when they are not responding
2008-02-14 14:24:07 -05:00
Dana Jansens
c7af49b5c5
let you specify return codes for the different buttons in a prompt, and specify a callback function for the prompt for when it is closed
2008-02-14 14:24:07 -05:00
Dana Jansens
ea28a9e7ab
position the buttons in the bottom right instead of centering them
2008-02-14 14:24:07 -05:00
Dana Jansens
deca45dada
key input works for ObPrompt windows now
2008-02-14 14:24:07 -05:00
Dana Jansens
a5005506a8
make the prompt buttons respond to button presses. keyboard input code is there too but not working yet.
2008-02-14 14:24:07 -05:00
Dana Jansens
61b8f52430
properly place the msg texture
2008-02-14 14:24:07 -05:00
Dana Jansens
457fdc5ccb
Make ObPrompt windows get managed as clients, and make them able to reconfigure as well.
2008-02-14 14:24:07 -05:00
Dana Jansens
974e88581f
give prompts a border, and fix how they are laid out. and make them use the multi-line text capabilities in render for the message
2008-02-14 14:24:07 -05:00
Dana Jansens
c313b219a2
you can create dialog windows called "prompts" which have a message and some buttons! they don't do anything interesting yet.
2008-02-14 14:24:07 -05:00
Dana Jansens
f9b59a4911
make the internal window type more easily inheritable
2008-02-14 14:24:07 -05:00
Dana Jansens
27177e498b
let you match per-app settings based on the window type
2008-02-14 19:40:03 +01:00
Dana Jansens
619fd7e666
don't force fake enter events while there is a grab on the pointer. this fixes focus switching during a move/resize from mouse-button-bound actions.
2008-02-14 19:40:03 +01:00
Dana Jansens
c0333e9452
_net_active_window shouldn't change desktop, is the general policy concensus.
2008-02-14 19:40:03 +01:00
Dana Jansens
8186a81fe0
split menu overlap into x and y components
2008-02-14 19:40:02 +01:00
Dana Jansens
91a1b08909
force the resize popup to be on-screen (not negative position)
2008-02-14 19:40:02 +01:00
Mikael Magnusson
83c739df91
typo in comment
2008-02-14 19:40:01 +01:00
Dana Jansens
38bef0a38b
Make a pending ReplayPointer happen before moving/showing/hiding a window in an action.
...
Commit c907f5af4a
broke kdesktop again, so we have to fix it at an even finer level.
2008-02-14 19:39:17 +01:00
Mikael Magnusson
c907f5af4a
Wrap the focus action in actions_client_move.
...
When alt-tabbing to iconified audacious and the playlist or eq window pops up under
the cursor, they "stole" focus from the main window.
2008-02-13 21:37:28 -05:00
Mikael Magnusson
d5a25283dc
Fix a minor issue with lastdesktop right after startup.
2008-02-13 21:36:16 -05:00
Mikael Magnusson
86a95d8440
Don't bother setting screen_last_desktop here, it's inited in screen_startup anyway.
2008-02-08 10:22:57 +01:00
Dana Jansens
265bdd4660
don't crash when using <raise> and alt-tab and there are no windows to cycle between
2008-02-05 12:32:46 -05:00
Mikael Magnusson
12ca673de5
Add the manageDesktops option.
2008-02-04 02:26:00 +01:00
Dana Jansens
6b04ac47e2
make the menu headers show their correct text
2008-02-03 18:45:40 -05:00
Dana Jansens
4d5dd00229
ignore fake generated enters if they are in the serial-ignore-range too
2008-02-03 18:37:45 -05:00
Dana Jansens
deb0aa720a
allow you to force the position of windows with rc.xml's per-app settings with the force="yes" attribute
2008-02-03 18:37:37 -05:00
Dana Jansens
a19f2f8bc9
when focusing or raising a window which is modal child for a direct parent, raise its parent and move it to the top of the stacking order too, ie. treat them like one window (this is already done elsewhere, like when moving between desktops for example)
2008-02-02 22:17:32 -05:00
Dana Jansens
751f85003f
unused variable
2008-02-02 22:09:52 -05:00
Dana Jansens
58b3ec41b9
improve comment
2008-02-02 22:07:21 -05:00
Dana Jansens
d63d03a84e
erroneous comment
2008-02-02 14:29:08 -05:00
Dana Jansens
746859c101
if windows on screen are going to be moved, then do the ReplayPointer before that occurs, so it goes to the right window. if they are not, then just wait until after the actions are run (for kdesktop's sake really)
2008-02-02 11:22:17 -05:00
Dana Jansens
c64be9066e
comment typo
2008-02-02 11:01:14 -05:00
Dana Jansens
bbad88aa21
add a --config-file command line option, and OB_CONFIG_FILE root hint
2008-02-02 09:45:33 -05:00
Dana Jansens
b1d4bbdb54
make fullscreen windows more xinerama and multi-screen aware
...
instead of calling it every time a window loses focus, it is only called when a window gains focus. then, check fullscreen layered windows, if they should be moved to a lower layer.
when moving a window between monitors, also check its layer and that of any fullscreen windows.
let a window stay in the fullscreen layer even when it is not focused, if it is on a non-visible desktop, or if it is on a different monitor from the focused window, or if nothing else is focused
2008-02-02 09:03:13 -05:00
Dana Jansens
3b0f41dc66
fix a crash from chroot of invalid keys, and make keybindings reload better
...
since invalid(not translated) keybindings are allowed in the tree, the tree's structure may actually need to change when reconfiguring. actually, it could need to anyways. so when re-translating all the keybindings, actually rebuild the keybinding tree. also, make the chroot building code not fail when translate fails, to match the rest of the code and avoid segfaults with chroots on invalid keys.
2008-02-02 01:25:59 -05:00
Dana Jansens
6a3ac556b9
when checking that a window is onscreen, if there are screens with higher indices than where it appeared, they would trump things and force the window onto the first screen. now, only assume the window is on no screens if it actually is on no screens
2008-01-31 17:31:51 -05:00
Dana Jansens
d11ac82062
don't deiconify windows on reconfigure if they cant be iconified directly. stop managing windows in reverse order on restart it messes up the dock among other things
2008-01-31 11:23:43 -05:00
Dana Jansens
e7e02728a3
reordering things when mapping windows a little to work with iconified windows with iconified toolbars on restart. (e.g. ooffice)
2008-01-28 00:30:44 -05:00
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