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
Dana Jansens
3278fdae73
open the menu with the mouse cursor just outside the top item
2007-03-25 17:32:58 +00:00
Dana Jansens
cbbda7a363
proper logic for using the menu overlap with middle centered submenus.
...
always center top level menus horizontally under the cursor. why is this not normal behavior..?
2007-03-25 17:26:22 +00:00
Dana Jansens
ee58f96a84
better placement for top level menus under the mouse cursor. middle placement is not used for this now. it was behaving differently than submenus so i'd like to have some consistency
2007-03-25 17:19:41 +00:00
Dana Jansens
afc015158a
better vertical centering for when "middle" placement is enabled for menus
2007-03-25 17:16:32 +00:00
Dana Jansens
ede50bed27
return the old cursor. oops
2007-03-25 17:11:50 +00:00
Dana Jansens
c567f5937b
add support for the X Cursor library. this means a nicer cursor for startup notification.
2007-03-25 16:56:47 +00:00
Dana Jansens
59c5d1cc4e
set up the menu's parent and children stuff before rendering it
2007-03-25 16:38:04 +00:00
Dana Jansens
e6c82786ff
don't menu menus jump around at all anymore. open them on screen in the first place
2007-03-25 16:34:26 +00:00
Dana Jansens
d6c45db8da
bad idea.. more thought is needed..
2007-03-25 15:16:00 +00:00
Dana Jansens
20f4d7fd44
when opening the client menu with a key, open it at the window's top left corner. is this clever or dumb?
2007-03-25 15:05:10 +00:00
Dana Jansens
eb2a0feb01
watch for reverttoparent reverting to the root window, which will create a DetailInferior focusin event on root.
...
adding some debug messages also which I am using..
2007-03-24 23:19:45 +00:00
Dana Jansens
4aa8d64f76
set the event_curtime when running an action to the time in the event used to run the action
2007-03-24 17:22:31 +00:00
Dana Jansens
c4732aeed2
2007-03-24 17:17:02 +00:00
Dana Jansens
e77353f0cd
clean up the title getting function
2007-03-24 17:06:19 +00:00
Dana Jansens
4c2b16e72d
kill window title numbering...
...
probably it was a dumb idea all along. you're not picking the numbers yourself and you're probably not remembering which window they apply to and the focus indicator thinger is much more clever than numbers
2007-03-24 17:01:40 +00:00
Dana Jansens
ba161e967b
launch things on the desktop where you ran it.
...
also: kde apps move themselves to the current desktop when they open. what the heck?
2007-03-21 16:19:06 +00:00
Dana Jansens
c4446bebff
ignore focus events on root that we don't care about
2007-03-21 16:12:21 +00:00
Dana Jansens
fd382fcc36
allow focus to disappear to black holes. (that is, windows not managed by openbox). the black hole may just be a window on another monitor. keyboard events aren't going to work in this scenario, though.
2007-03-21 15:54:30 +00:00
Dana Jansens
e227ac841e
we're only getting one unmap notify now, with the new event mask on the root window. we're not getting one for the frame window anymore.
2007-03-20 04:42:25 +00:00
Dana Jansens
fb3d2033ba
not passing timestamps sometimes and not others. set event_curtime when client messages provide a timestamp.
2007-03-19 17:59:16 +00:00
Dana Jansens
0ed1b678d1
memory leak in xinerama setup code
2007-03-18 15:16:03 +00:00
Dana Jansens
3678f8df8a
use const char*'s when we should be
2007-03-18 15:07:30 +00:00
Dana Jansens
5fa443efc8
oops, logic error
2007-03-17 20:06:16 +00:00
Dana Jansens
50f631b9a7
mention when the logicalx/y is actually returned
2007-03-16 19:16:07 +00:00
Dana Jansens
73dac2b9b9
fix for bug introduced in revision 5643. logical size is supposed to be updated only when the window is resized.
2007-03-16 19:14:53 +00:00
Dana Jansens
f658ec961e
animate presses on toggled titlebar buttons
2007-03-16 01:33:47 +00:00
Dana Jansens
6772ec19fc
only refocus the omnipresent window if its allowed
2007-03-15 01:11:52 +00:00
Dana Jansens
34f5bbe4f6
clearer engrish
2007-03-15 01:09:10 +00:00
Dana Jansens
091e296a3d
when an omnipresent window has focus and you switch desktops, keep it focused
2007-03-15 01:02:48 +00:00
Dana Jansens
83d987d9ab
don't fall back focus to omnipresent windows
2007-03-14 21:15:58 +00:00
Dana Jansens
c80b496bf4
make focus_order into one long list instead of having one per desktop. this actually fixes bugs with omnipresent windows and adding desktops. it is just overall a little nicer i think.
...
also this is not tested. sorry if it breaks everything.
2007-03-14 21:07:30 +00:00
Dana Jansens
a9175a8a32
save the focus_client when falling back, so we don't actually refocus it when we don't want to.
2007-03-14 15:56:59 +00:00
Dana Jansens
adc5675823
oh, 2 things in this commit..
...
1) THIS ONE IS IMPORTANT: don't set client->iconfied if the window is not actually going to be allowed to iconify. heh!
2) changes to focus fallback to avoid crashing and to avoid losing focus all at the same time.
2007-03-14 15:51:21 +00:00
Mikael Magnusson
768ce7b456
move stuff around in client_unmanage to maybe make closing windows a bit nicer
2007-03-14 14:17:31 +00:00
Dana Jansens
5f7ffb00ba
refix for managing iconic windows, without having the frame map which caused flashing.
...
instead, keep track of if the frame has been mapped yet. if it hasn't and it is getting hidden, then make sure to unmap the child.
2007-03-14 13:58:36 +00:00
Dana Jansens
e2521f5c64
a) fix resizerelative moving windows when they reach their minimum size do this by...
...
b) adding a function to let you see what size/position a window will be given when you actually try move/resize it to some given values. (client_try_configure)
2007-03-14 03:45:56 +00:00
Dana Jansens
2d03d09577
make frame and client window in a consistant mapped state when the window is grabbed
2007-03-14 02:23:50 +00:00
Dana Jansens
594648729f
less wasted updates of wm_state
2007-03-14 02:07:30 +00:00
Mikael Magnusson
ebbcacae15
focus fallback
2007-03-14 01:17:39 +00:00
Mikael Magnusson
53109b7592
comparing strings to random locations in memory is probably not what we wanted to do
2007-03-13 12:34:58 +00:00
Dana Jansens
a9910e520b
always unfocus the window when it disappears, no special cases.. (except unmanage)
2007-03-13 04:15:25 +00:00
Dana Jansens
270a5b25df
set IconicState on windows that are not visible always. this means windows on other desktops too.
...
as well, this turned out to be a nice cleanup of the wmstate code.
regards to the random dude in #openbox complaining about the ICCCM to make me think to look this up and see if openbox was compliant.
2007-03-13 04:04:13 +00:00
Dana Jansens
7f58bd9eaa
save and restore pre-maximized/fullscreen sizes properly
...
much cleanup on how per-app settings are applied to new mapping windows. maybe i broke it? but it'll be much quicker now, and it's consistant with the rest of the code, so hooray for that. pls let me know if i broke any of it :( hee..
2007-03-13 02:29:08 +00:00
Dana Jansens
b2e08c0ad5
remove event_lastttime. use CurrentTime when handling events without a timestamp in them
2007-03-12 23:23:39 +00:00
Dana Jansens
d47c6a0979
fallback is still getting x errors. instead, fallback when the client iconifies, and don't fallback when nothing has focus, send it to where we can control things though.
2007-03-12 17:31:11 +00:00
Dana Jansens
dc41c78a90
focusins can occur on windows that aren't clients when there's latency involved. wm_torture proved this point. fallback in that situation. also fallback when nothing is focused.
2007-03-12 06:09:02 +00:00
Dana Jansens
85a1a0cfb3
don't validate inside client_focus. instead, validate before you call it!
2007-03-12 06:04:00 +00:00
Dana Jansens
6b7cc88c9d
validate clients before trying to focus them in fallback
...
also validate before trying to set the focus on a window
this should fix those crashes, and should just be better over all
2007-03-12 05:57:30 +00:00
Dana Jansens
3a33642be4
update focus_hilite appropriately for when changing desktops
2007-03-12 05:44:16 +00:00
Dana Jansens
c018e21220
i rewrote handling of focus events. this is pretty much based on blackbox's current form, as well as reading the xlib programming manual at:
...
http://tronche.com/gui/x/xlib/events/input-focus/normal-and-grabbed.html
this may break for people. that'd be nice to hear about, so it can be fixed. but hopefully this is more robust. it sure is a lot more simple.
2007-03-12 05:25:34 +00:00
Dana Jansens
310ea89e0e
another silly bug. i rule the school.
2007-03-12 03:09:09 +00:00
Dana Jansens
9ca0554507
that was a silly mistake. fullscreen windows amongst others will not crash now :D
2007-03-12 03:07:00 +00:00
Dana Jansens
52176d1485
roll back focus fallback change, so it behaves well with new stacking
2007-03-12 02:41:34 +00:00
Dana Jansens
d113b9f33f
ok this is from prevous changes but has a bunch of debug stuff in it
2007-03-12 02:34:34 +00:00
Dana Jansens
2244bc036a
remove the group option for the restacking commands in rc.xml, cuz groups are clever now
2007-03-12 02:27:58 +00:00
Dana Jansens
d33f44cd86
Rewrite the stacking code. It's a lot faster now, I should think. It's def a more clever algorithm. It deals with group transients much better.
...
On that note, utility and menu and toolbar window types are now treated as group transients in terms of stacking and focus and such.
2007-03-12 02:24:40 +00:00
Mikael Magnusson
bf247215bb
no separator at the start of the menu
2007-03-12 02:12:51 +00:00
Mikael Magnusson
baa4a878cd
make the combined client list menu not suck quite as bad
2007-03-12 01:59:49 +00:00
Mikael Magnusson
fa122a3092
update copyright notice in --version output
2007-03-12 01:12:31 +00:00
Dana Jansens
e2b3a32aed
We were grabbing SubstructureNotifyMask on the root window. I don't know why.. It meant that we got unmap notifies for windows we weren't even managing and stuff. It ended up breaking VLC when it mapped-unmapped-mapped a window. We grab StructureNotify for all the clients, so I am not sure why this was ever there.
2007-03-11 22:16:42 +00:00
Dana Jansens
cbfa27759d
extra braces.. why does the world hate me so?
2007-03-11 19:27:44 +00:00
Dana Jansens
d9601bc196
.. i am pretending to be mika :D :D ok this time for real
2007-03-11 19:27:16 +00:00
Dana Jansens
d98a6183a3
oh.. wasted verbosity.. *strums guitar*
2007-03-11 19:26:28 +00:00
Dana Jansens
e714fa7351
rewrite the focus steal prevention code to clean it up hopefully a bit. also don't steal focus from globally active focus model clients
2007-03-11 19:25:57 +00:00
Dana Jansens
6714a0e2ca
Honor transient_for=Root, even thought this is crap and breaks some KDE stuff. Also include a big comment as to why this is suck.
2007-03-11 19:15:28 +00:00
Dana Jansens
895554765d
make smart placement more smart with multiple monitors. hopefully?
2007-03-11 18:39:34 +00:00
Dana Jansens
7229bea3c6
client_configure_full is trying to move a window, it shouldn't determine the window's monitor from its current position, but from the new position instead. move client_monitor()'s logic into screen, more generically, and let client_configure_full use that
2007-03-11 17:34:07 +00:00
Dana Jansens
fe31716486
fallback to transient parents properly
2007-03-11 17:05:07 +00:00
Dana Jansens
62a39c4c70
stacking has been made more reliable with groups and group transients.
...
this was a pretty invasive change in client.c though, so it may break things?
it did expose some bugginess in client_calc_layer, which is now better than ever, hopefully there isn't more to be found.
2007-03-11 16:58:19 +00:00
Mikael Magnusson
c5d2a9bc98
allow setting startupnotify per execute action, default to disabled. use like this: <action name="execute"><execute>program</execute><startupnotify><enabled>true</enabled><name>something descriptive</name><icon>name of an icon in the icon theme to show</icon></startupnotify</action>
2007-03-11 15:41:47 +00:00
Dana Jansens
923e0edfa8
look for more things to cancel startup notification on, from the wmclass. if the wmclass is related to the name or the binary name, then it will cancel it also. this is so that oldschool stuff doesn't thing its opening forever.
2007-03-11 14:31:11 +00:00
Dana Jansens
2c98204dfe
make _NET_ACTIVE_WINDOW requests look at the timestamp when the user didn't
...
request it
2007-03-11 14:17:14 +00:00
Dana Jansens
6a61f0c433
fix non instrusive stacking adds, they didnt account for layers at all
2007-03-11 14:16:24 +00:00
Dana Jansens
aaabb13c0a
add _NET_WM_FULL_PLACEMENT, cuz openbox does do placement, even tho it can be sucky right now, lol. but it's good for dialogs and stuff, which is what this is talking about.
...
also add _NET_WM_MOVERESIZE_CANCEL.
2007-03-11 05:00:56 +00:00
Dana Jansens
19b480058e
wow... this is a big commit...
...
all related to _NET_WM_USER_TIME and focus stealing prevention
a) add launcher startup notification. this means when you run something from
the openbox menu or a key/mouse binding, that startup notification will go
on in openbox and other applications like your panel or something
b) add the _NET_WM_USER_TIME property for windows
c) use the _NET_WM_USER_TIME data and startup notification to prevent focus
stealing.
d) cookie party !! ! all are invited.
e) oh yeah, and pass around timestamps for a lot more things. like, when you
run an action, send the timestamp for the event that is running the action.
this is important for startup notification. this also affects menus.
f) yes.. cookies..
would it be a good idea to disable focus stealing prevention if a window takes
too long to load? i mean.. maybe after a certain length of time, a user can't be
expected to not do anything in any other windows, but would they still want the
new application to focus then? HMM. open question i guess..
2007-03-11 04:44:15 +00:00
Dana Jansens
9d6e390765
add the _NET_WM_USER_TIME property support. When focus_new is enabled, don't focus new windows if the user is doing something in another window since it launched. If we can tell when it launched, either from the _NET_WM_USER_TIME or from startup notification.
2007-03-11 02:06:34 +00:00
Dana Jansens
bd19fd06db
remove the kde icon hint, they use the EWMH icon now
2007-03-11 00:59:13 +00:00
Dana Jansens
35ab1264ee
remove the kde frame extents property, add the _NET_FRAME_EXTENTS property in its stead
2007-03-11 00:12:37 +00:00
Dana Jansens
8c9b2e8f17
>:| I put old code back somehow.. thanks mika. hooray peer review :)
2007-03-11 00:00:05 +00:00
Dana Jansens
f6265e82e6
1) Remove support for the Urgent hint. This will no longer do anything within Openbox
...
2) Add support for _NET_WM_STATE_DEMANDS_ATTENTION. Yay!
2007-03-10 23:57:33 +00:00
Dana Jansens
ccebe3c441
skip windows in alt-tab that have SKIP_PAGER set. perhaps this is a better metric.. also this is for mikachu <3
2007-03-10 23:09:27 +00:00
Dana Jansens
42c6cdd0c8
people have started using SKIP_TASKBAR, and it's not for stuff you don't want to be able to alt-tab to. so don't put that in here anymore.
2007-03-10 23:03:08 +00:00
Dana Jansens
ec67e96583
make startup notification a little more robust. obconf is just broken, between
...
the application and it's .desktop.
2007-03-10 22:52:50 +00:00
Dana Jansens
3f7ad89510
let windows move themselves off the screen somewhat, but don't let them resize themselves off the screen (unless they're moving too)
2007-03-10 22:24:47 +00:00
Dana Jansens
49dd40d99f
no longer honor transient_for = None or Root. it violates the ICCCM and is causing problems. there are proper ways to make group transient windows with the EWMH.
2007-03-10 20:52:04 +00:00
Dana Jansens
4fa19b5985
more cleverness for window placing.
...
make sure its 10% on the screen in some direction always..
but if the application is placing itself, make sure its on the screen entirely,
and also put it entirely on one monitor if you have xinerama.
if it's bigger than the monitor's space though, it won't do anything with it..
2007-03-10 01:08:19 +00:00
Dana Jansens
ae246097a5
let you put windows with the titlebar off screen.. for mikachu.
...
but also don't let applications put themselves under the struts!
2007-03-10 00:44:43 +00:00
Dana Jansens
96abc207f2
one more fix.. oops :)
2007-03-08 03:32:29 +00:00
Dana Jansens
976eb4c511
fix rendering of the new top corner resize handles
2007-03-08 03:31:42 +00:00
Dana Jansens
56307d6077
a) remove the top_grip_height business from the theme
...
b) make the focus indicator based on border width and padding, not the handle height
c) add 2 more windows for the top corners for resizing, much easier to find them now. also base their width on padding, not the handle height or other weird things
2007-03-08 01:26:03 +00:00
Dana Jansens
b5af5ad3e8
was using paddingx for y-things, oops
2007-03-08 01:08:44 +00:00
Dana Jansens
88204502a8
don't use handle_height for focus indicators, use top_grip_height. is this better?
2007-03-05 16:10:32 +00:00
Dana Jansens
ec304c9e43
scary commit..but here goes.
...
YOUR THEMES ARE NOW OFFICIALLY BROKEN.
Openbox has just moved it's theme format to an XML based one. The details of
this format can be found in data/themerc.xsd (and http://openbox.org/themerc.xsd
ALSO! This is very good and important and stuff! In the tools directory you
will find THEMETOXML ! This tool takes a themerc on stdin, and spits out
the same theme in theme.xml format. So this is all you need to do to update
your themes.
PLEASE NOTE: This themetoxml does _not_ install itself anywhere. It simply
builds and then lives out in its tools/themetoxml directory, and that's it. So
if you want to use it, that is where to find it.
In moving to the new XML format, a number of additions/changes to the theme
engine have been made. Themetoxml takes these into account and will set all
the new things appropriately to make your theme look the same as it always has.
New additions include..
* padding now has an horizontal and vertical component, instead of being one number
* menus can have different borders than windows (color and size)
* menu offset can now be negative. it's a little weird, but someone will want it no doubt
* fonts are no longer controled by the theme at all, however font shadowing is, and on that note..
* font shadows are now any color you want, not just black and white
* you can now set the shadow anywhere you can set the text's color, so you have more control, i.e. you can set shadow on active menu items but not inactive, or disabled, etc.
* every color now has an alpha channel. at the moment they don't do anything, besides the font shadow one, but it leaves room for future explorations. it is REALLY HIGHLY RECOMMENDED that you set the alpha to 255 all the time, until such time as it could be useful. otherwise one day your theme may turn awful for people.
* font colors are in the range 0-255, in case you were wondering, and they have to be specified in decimal
* if you'd like to change you font's you can do so in your configuration file. this is how it is going to stay. changing the font in the theme assumes too much about peoples eye sight and locality and stuff. it doesn't belong there, sorry. the system-wide default rc.xml includes the new font settings for your viewing pleasure, and ill drop an example of it below.
* shadows can now be positioned in any direction, they have both an x and a y offset which can be negative and positive. and offset of 0,0 will disable the shadow
This isn't a release or anything. If someone had some good ideas about the xml theme format, I'd like to hear them. But I don't think it will be changing much right now beyond where it is. I don't even know how the new functionality will play out for themers, so we'll see.
Whew.. I guess that's it. I'm not sure if I mentioned every little change or not, but oh well. Mileage may vary.. Please send any feedback.
Here's the font configuration example. Hopefully ObConf will let you set this real soon.
<theme>
...
<font place="ActiveWindow">
<name>arial,sans</name>
<size>7</size>
<weight>bold</weight>
<slant>normal</slant>
</font>
<font place="InactiveWindow">
<name>arial,sans</name>
<size>7</size>
<weight>bold</weight>
<slant>normal</slant>
</font>
<font place="MenuTitle">
<name>arial,sans</name>
<size>8</size>
<weight>bold</weight>
<slant>normal</slant>
</font>
<font place="MenuItem">
<name>arial,sans</name>
<size>8</size>
<weight>bold</weight>
<slant>normal</slant>
</font>
</theme>
2007-03-05 15:44:17 +00:00
Mikael Magnusson
092ef0e6dd
mention that it is in fact openbox that crashes
2007-03-04 21:46:13 +00:00
Dana Jansens
ca9fe26a6b
use EXIT_SUCCESS. it's the same thing, but more correct.
2007-03-04 20:42:22 +00:00
Mikael Magnusson
7fdfb9dbf6
use ob_reconfigure/restart directly instead of actions and save a variable
2007-03-04 20:32:47 +00:00
Mikael Magnusson
2f87655790
remove said Atoms
2007-03-04 20:18:09 +00:00
Mikael Magnusson
e06e69b904
use integers instead of atoms for the actual control action
2007-03-04 20:16:41 +00:00
Mikael Magnusson
e979b388d8
use the X protocol to reconfigure instead of signals, works over the network too
2007-03-04 20:05:00 +00:00
Dana Jansens
191a0bc075
i moved the font shadow stuff back into the theme, so move them out of the font configuration stuff
2007-03-04 18:49:16 +00:00