summaryrefslogtreecommitdiff
path: root/openbox/event.h
AgeCommit message (Collapse)Author
2012-10-06Allow windows created by execute actions to steal focus if the user isn't ↵Dana Jansens
interacting with another window (Fix bug 5419). When the execute action was run, we would say that the user had used the focused at that time. Then when a new window popped up, we'd think the user was busy in the current window and prevent the new one from steal focus. Now the execute action does not update the "user interacted with the focused window" timestamp anymore. So, if they aren't currently typing in some window when they trigger an execute action, and the window appears, it will steal focus.
2011-01-24if no launch time is provided for an application, make one up.Dana Jansens
if the window is related to other existing windows and one of those windows was the last used then we will give it a launch time equal to the last user time, which will end up giving the window focus probably. else the window is related to other windows, but you are not working in them? seems suspicious, so we will give it a launch time of NOW - STEAL_INTERVAL, so it will be given focus only if we didn't use something else during the steal interval. else the window is all on its own, so we can't judge it. give it a launch time equal to the last user time, so it will probably take focus. this way running things from a terminal will give them focus, but popups without a launch time shouldn't steal focus so easily.
2011-01-24don't steal focus if someone used a window within 1 second agoDana Jansens
(instead of 0.5 seconds)
2011-01-24update the user-interaction timestamp when running a (non-interactive) ↵Dana Jansens
action on the focused window update it at the end of running actions instead of multiple times (once for each action)
2010-05-17fix focus when starting up, especially when replacing another instance of ↵Dana Jansens
openbox adds a function event_reset_time() that forces event_time() to look for a new (future) timestamp
2010-04-16event_curtime is replaced (publicly) by event_time()Dana Jansens
This function never returns CurrentTime, which is nice, cuz using CurrentTime for XSetFocus always sucks. If the current XEvent did not have a timestamp, then event_time() will find one. It finds the first timestamp available in the X event queue, meaning the earliest timestamp >= the current (nontimestamped) event. All future events should have a timestamp >= event_time(), so using this in XSetFocus() should not mess up any future calls we make to it. This change seems to work well, as it appears to fix bug #3648.
2009-12-18Add a focus option, unfocusOnLeave that removes focus from a window when the ↵Dana Jansens
pointer leaves it This uses the same delay to unfocus as is used for focusing on enter
2009-11-21Revert all commits for the Hooks feature to move it to a topic branch.Dana Jansens
This reverts commit fd2f617be7ff57fcb187daa737f66d243544c8cd. This reverts commit a47d0a53652a96ca1df96fc9268757df1431ae55. This reverts commit a1908e076736e1a618bd305c5963dbfecaa30497. This reverts commit dc2e6f6bf7143a56de360a393b33906735e63625. This reverts commit 985e7dadf9a3ebf4bd265d955c3198e96405e5d2. This reverts commit db781556d63d1a50bd1b1b4b6b5423ef703bf2c7. This reverts commit feec8f663f0a11546c2da87575fecc8a88d97ca1.
2008-10-27Merge branch 'backport' into workMikael Magnusson
Conflicts: openbox/client.c openbox/prop.c openbox/prop.h
2008-10-27Correct a 64-bit bug in event_time_afterMikael Magnusson
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.
2008-03-01Get hooks workingDana Jansens
2008-02-27Merge branch 'backport' into workMikael Magnusson
Conflicts: openbox/client.c openbox/event.c openbox/event.h
2008-02-27Fix some typos and style in client.c, and add a comment.Mikael Magnusson
Also moves a comment from many places into one place.
2008-02-15() -> (void) also in .h files, and fix a place that gave arguments when it ↵Mikael Magnusson
shouldn't have.
2007-08-04Merge branch 'backport'Dana Jansens
2007-08-03new least-intrusive focus stealing preventionDana Jansens
2007-07-28remove old unused variablesDana Jansens
2007-06-03super amazing enter event skipping.Dana Jansens
also mucho fixed for <underMouse>
2007-05-26change in how things are ungrabbed to avoid grabwhilenotify. don't ungrab ↵Dana Jansens
every key press. just ungrab the passive grab when there is no active grab and we are going to move focus. this should be less intrusive and seems to work
2007-05-19remove a function that is no longer used. and backwards boolean algebra was ↵Dana Jansens
causing us to not ignore the right enter events
2007-05-18super correct enter event ignoring that will only ignore what it has to, yay?Dana Jansens
2007-05-17kill enter events without using pointer grabsDana Jansens
2007-05-13some changes to focus handling.Dana Jansens
most interesting is the change in focus_fallback, which means that it won't call xsetinput focus in some cases, potentially reducing flicker and stuff. also potentially producing bugs? heh. the screen.c focus fallback code doesn't seem to need special cases anymore, which is really good, if that is really the case. move the focus_tried stuff out of event.c into focus.c, where it seems to belong.
2007-04-231) translate all of openbox's outputDana Jansens
2) update copyrights. 3) make release. ok that part not quite yet.
2007-03-28handle time wrapping around.Dana Jansens
2007-03-02this includes a number of things since my magnificent return....Dana Jansens
1. some random compiling/style cleanups 2. some bigfixes - mislogic in per-window-settings and focusing new windows - use client_can_focus rather than checking variables for directional focus - MAYBE fix all those lock-ups forever. using event_curtime (a new variable) now instead of event_lasttime. event_lasttime is still used however when the event being processed did not have a time associated with it. this may or may not be a problem, and will be seen. 3. um.. i forget 4. oh yeah, 3rd party docks are now treated like the internal ob dock irt focus. that is, clicking on them won't pass them focus. this is going to be ratified as expected behavior in the wm-spec just now. if docks/panels want focus they can request it with _net_active_window, and then they can have all the focus they want! one day alt-tabbing around dock windows might be nice. but not until the ob dock is moved out into a separate application. going to have to add a wmapp selection and stuff for that though... ugly. who uses wmdockapps anymore !? someone must.. *sigh*
2003-10-09let stuff cancel any focus delays going onDana Jansens
2003-09-22provide a means to properly ignore enter events for focus changesDana Jansens
2003-09-21when ending actions which can move windows, and we were using the mouse, ↵Dana Jansens
instead of doing a focus fallback, which instantly focuses, and doesn't raise, we do an event_enter_client which simulates the act of entering the window with the pointer
2003-09-21add glib.h includeDana Jansens
2003-09-21allow a number of enter events to be ignored. Don't just skip any ↵Dana Jansens
enter/leave events as these are used for highlighting hover buttons and ignoring these makes the hover state out of sync sometimes
2003-09-17no tabsDana Jansens
2003-09-17add copyright headers, adjust --version output to include copyright, and ↵Dana Jansens
--help output to not include version output.
2003-09-03add a reconfigure action, also reconfigure on SIGUSR2.Dana Jansens
support reconfiguring throughout the entire codebase.
2003-08-30using the ObMainLoop, which rulz the planetDana Jansens
2003-08-28new method for loading menu files etcDana Jansens
2003-05-14Added a menu to read from a pipe.Scott Moynes
File descriptors added to the event loop.
2003-03-27handle focus in the kernel, no more pluginDana Jansens
2003-03-26not using CurrentTime anywhereDana Jansens
2003-03-24Time is declared in Xlib.hDana Jansens
2003-03-19export the NumLock and ScrollLock masksDana Jansens
2003-03-16merge the C branch into HEADDana Jansens