| Age | Commit message (Collapse) | Author |
|
|
|
|
|
Make 'left' key in a menu close it's visible child menu and move to the parent
properly.
Make clicking on a menu item in a menu close any of its grandchildren and
remove focus from its children, effectively focusing the menu item you
clicked on.
|
|
When nothing in a menu is selected, go back to selecting the open submenu.
Adjust the LeaveNotify event handling to only respond when there is not a
EnterNotify coming for the same menu frame.
Change the default submenu show/hide delays.
Have the default values for submenu show/hide match the default rc.xml
|
|
This reverts commit 828c095c8b5a2df96a38faaeb8a0df504e68e70f.
|
|
This reverts commit 1fb198410e9d3ca660d91d1049249db0f2f47732.
|
|
It fixes this:
(Mikachu) dana: i think his issue was if you have a menu with two
submenus s1 and s2, open the s1 submenu, then point to s2 and
go into s1, then after the delay, s1 is hidden despite you
being inside it still, because s2 was never unselected
|
|
kill them now
|
|
This allows users to move to the submenu across other menu items (the same
as they already could across other menu items that were submenus).
This uses the same config delay for hiding submenus as it does for showing
new ones.
Based off the ideas in bug #3762.
|
|
Menus/Move/Resize
If the user has escape bound to more than one keycode then they can use any of
them to close a menu. This change applies to the hardcoded keys in openbox,
which are used for the menus and for move/resize, and maybe other places.
|
|
|
|
client_activate() is a helpful way to focus a window on another desktop,
but only Openbox is allowed to do such things, user messages cannot.
|
|
Move focus on _net_active_window "app" requests if focus stealing would be
allowed. If focus is not given to the target window and it is hilited (or
any other situation where it is hilited) and the window is on another desktop,
then also raise it and make it the LRU window, so when you switch desktops
you go right to it.
|
|
Google's chrome does this when you toggle window decorations.
Based on patch in #4250 by Daniel Erat.
|
|
|
|
Many composite apps use this to pass through clicks where they are transparent.
|
|
|
|
The code assumed the timestamps had the same domain as the type Xlib
uses for them, which is almost never the case with Xlib. Change all
involved variables to guint32.
|
|
|
|
|
|
|
|
Typo in debug message.
Improve some comments.
Space after comma.
Factor out compress_client_message_event.
Fold two ifs together.
Change duplicated case to fall through.
|
|
|
|
Pressing a button and leave/enter would cause the button to show hover mode, not pressed mode. Change the behaviour back to how it used to be for pressing (the button stays pressed when you move outside of its box) and make it work correctly, as commit 041d17373e04 also did for menus.
Reverting this behaviour because it seems impossible to do the enter/leave stuff correctly for the close button on maximized windows. Leaving the titlebar contexts doesn't give us an Enter event to go along with it, so even if we check all motion events, the button will flash unpressed when leaving the topright contexts.
|
|
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.
|
|
|
|
|
|
|
|
there too but not working yet.
|
|
reconfigure as well.
|
|
buttons! they don't do anything interesting yet.
|
|
|
|
|
|
|
|
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
|
|
(NextRequest()-1). Don't ignore enters that come after this with the next serial.
|
|
actually want them. Ignore event serials without using XSync, so that we aren't doing an XSync 100 times per minute - slow!
|
|
present too
|
|
not just windows youre trying to close, so don't use datastructures that suck with lots of windows..
|
|
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.
|
|
|
|
before proceeding (fixes a race condition when running things that want to grab the keyboard very quickly. yes, arch is that fast somehow..)
|
|
them back when we check what window an event happened on. so don't abort if that happens anymore.
|
|
everything. yay for mika as inspiration
|
|
first. avoid using the key binding used to show the menu to execute something inside it.
|
|
code, and some unneeded stuff
|
|
the xsync was needed to get the right serial for the end of the ignore range
|
|
|
|
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.
|
|
|