summaryrefslogtreecommitdiff
path: root/openbox/event.c
AgeCommit message (Collapse)Author
2010-09-16Revert "add XFlush to g_timeout callbacks"Dana Jansens
This reverts commit aa3685d16af4a565eecdc39047ee8d140ef5cd99. Mika's commit using a GSource to handle X Events fixes this problem, so this commit is not needed
2010-09-16Make the dock a context and add actions LowerDock and RaiseDockMikael Magnusson
2010-06-14add XFlush to g_timeout callbacksDana Jansens
GMainLoop doesn't cause an flush to occur after handling a timeout.
2010-06-14Use GMainLoop instead of ObtMainLoopDana Jansens
2010-05-20client_update_protocols() doesnt change anything that would affect a ↵Dana Jansens
client's decor or functions
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-29don't try go to selected submenu when there is nothing selectedDana Jansens
2010-04-28use clicks in promptsDana Jansens
2010-04-28fix XSYNCronization of resizes (especially with two monitors).Dana Jansens
1) a ConfigureNotify must always follow a Sync notification 2) determine the final size of the window with its position else struts are not applied properly for (partly) maximized windows 3) set the sync counter to a value when managing a new window
2010-04-28make an event queue for X events. the queue's min size is 16 XEvents (~3k)Dana Jansens
2010-04-23putting events on the event queue does not send them back to the server. it ↵Dana Jansens
was just going to get ignored the next time around cuz the window wouldnt be in our list of clients
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.
2010-04-16When determining the current timestamp, try get something a lil more accurateDana Jansens
Get the first timestamp from the event queue, rather than (potentially) the last. also treat it as the actual event_curtime, meaning it is used when focusing a newly mapped window etc.
2010-04-16when client removes its transient_for hint, don't keep the window as ↵Dana Jansens
transient for the group when it shouldn't be (fixes bug #4586)
2010-03-25make keypad enter do the same thing as returnDana Jansens
2010-03-25allow non-normal windows to go to 0,0. and remove a debugging g_printDana Jansens
2010-03-01add a function client_is_oldfullscreen() that determines if a window is an ↵Dana Jansens
"oldschool fullscreen window" or not. use this throughout. and allow oldschool fullscreen windows to move to 0,0 even with a strut there.
2010-03-01when an app tries to move to 0,0 and there is a strut there (java swing!), ↵Dana Jansens
move it to inside the strut instead (unless it is an oldschool fullscreen app)
2010-02-15dont trust the _NET_ACTIVE_WINDOW timestamp. (fixes bug #4519)Dana Jansens
if we decide to focus the window, do not use their provided timestamp. chromium gives a very old timestamp, which means we think we're focusing the window but it never actually gets focus, leading to inconsistent behaviour by openbox. use the timestamp for making decisions about passing focus if you want (we dont right now), but not for the XSetInputFocus call.
2010-02-12use g_slice_new() instead of g_new() part 2Dana Jansens
2010-02-12have obt refresh the xlib keyboard stuff on mappingnotify eventsDana Jansens
2010-02-11make control keys work in menus/dialogs/etc with the new obt code, using ↵Dana Jansens
XLookup stuff
2010-02-11make menu input work with the new obt keyboard stuff.Dana Jansens
create an Input Context for use during keyboard grabs, and use this to translate KeyPress events properly. make the menu respond to KeyPress events, since these are the only ones that can be translated properly, but still execute things from KeyRelease events
2010-02-11make the menu use the new obt stuff when reading keyboard input so it can ↵Dana Jansens
handle input from the non-base group and composed input
2010-02-11don't strip the state for keyboard eventsDana Jansens
this allows translation of keys not in the base keyboard layout
2010-02-11get xlib to reload the keyboard on MappingNotify eventsDana Jansens
2010-02-11XKB header comes from obtDana Jansens
2010-02-11i learnt what xkb does with the state.Dana Jansens
use the state from keyrelease events directly, rather than query the state (which is not as accurate!) the xkb state (as opposed to the normally sent compat state) contains extra info like the keyboard group, the pointer buttons, etc. so we can just strip that stuff out. (See section 2.2.2 of the XKB proto document)
2010-01-15if we get an event on a subwindow of root that we don't know about, but it ↵Dana Jansens
is related to a press we received on the root window, then process the event (Fixes bug #3702)
2010-01-11Merge branch 'backport' into workDana Jansens
Conflicts: configure.ac data/rc.xml openbox/client.c openbox/event.c openbox/focus_cycle.c openbox/focus_cycle_popup.c openbox/openbox.c openbox/prop.c openbox/prop.h openbox/screen.c parser/parse.c version.h.in
2010-01-08Don't handle input events on prompts if they should be used for a ↵Dana Jansens
binding/menu instead. Also, be more careful about making the prompt buttons look pressed, don't make them pressed from a motion notify event if they didnt first handle the press.
2010-01-08Merge branch 'backport' into workDana Jansens
Conflicts: Makefile.am openbox/actions/focus.c openbox/config.c openbox/event.c openbox/menuframe.c
2010-01-08make Home and End keys navigate to top/bottom of the active menuDana Jansens
2010-01-08Use submenuShowDelay when navigating menus with the keyboardDana Jansens
2010-01-06Improved menu behaviourDana Jansens
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.
2010-01-06Some fixes for the submenu hide delay codeDana Jansens
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
2010-01-05Revert "Don't hide submenus immediately when unselecting the parent's entry"Dana Jansens
This reverts commit 828c095c8b5a2df96a38faaeb8a0df504e68e70f.
2010-01-05Revert "A fix for delayed hiding of submenus."Dana Jansens
This reverts commit 1fb198410e9d3ca660d91d1049249db0f2f47732.
2009-12-21Merge branch 'backport' into workDana Jansens
2009-12-21A fix for delayed hiding of submenus.Dana Jansens
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
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-12-18Merge branch 'backport' into workDana Jansens
Conflicts: openbox/screen.c
2009-12-17Allow delayed focus to work while in a menu or move/resize since it wont ↵Dana Jansens
kill them now
2009-12-16Merge branch 'backport' into workDana Jansens
Conflicts: obt/keyboard.c obt/keyboard.h openbox/event.c openbox/menuframe.c openbox/moveresize.c openbox/openbox.c openbox/screen.c
2009-12-14Don't hide submenus immediately when unselecting the parent's entryDana Jansens
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.
2009-12-14Allow the user to bind more than one keycode to a keysym for Ob ↵Dana Jansens
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.
2009-12-11Merge branch 'backport' into workDana Jansens
Conflicts: openbox/config.c openbox/event.c openbox/prop.c openbox/prop.h openbox/screen.c openbox/screen.h
2009-12-09Fix the Focus/Activate actions to focus windows on other desktops correctlyDana Jansens
2009-12-08Merge branch 'backport' into workDana Jansens
Conflicts: openbox/actions/all.h openbox/actions/session.c openbox/client.c openbox/event.c openbox/grab.c
2009-12-08Fix client_activate() to work for internal Openbox menusDana Jansens
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.