summaryrefslogtreecommitdiff
path: root/openbox/menuframe.c
AgeCommit message (Collapse)Author
2014-11-03Make sure to reset all the GSource timer idsMikael Magnusson
Avoids warnings like 'Source ID 8382 was not found when attempting to remove it'. In particular some removals were missing in menuframe.c resulting in a warning being printed every time a submenu was opened.
2014-10-28Fix use after free in menu_entry_frame_freeEdward Sheldrake
2014-10-11Pass the GravityPoint as const* instead of by valueMikael Magnusson
2014-10-06Let the menu placement code know if the position was user specifiedMikael Magnusson
This way, it can avoid running the code that moves it to a good position relative to a mouse that isn't there
2014-10-06Move common gravity application to screen.cMikael Magnusson
2014-10-06Resolve gravity coords in menuframe so it can use the widthsMikael Magnusson
2013-09-01Fix a typo causing submenuShowDelay to be ignored (Bug 6019)Tom Sires
2012-09-30Select the menu item under the mouse when the mouse is moved (Fix bug 5237)Dana Jansens
2012-09-30Fix for when the menu's update function returns FALSE and no menu is shown.Dana Jansens
The ObMenuFrame was not being freed, and the child pointer was being left pointing to the frame that was not visible.
2011-08-01Allow setting icons for submenusMikael Magnusson
2011-08-01Fix menu placement to avoid dead xinerama areas, possibly break other stuffMikael Magnusson
Use screen_find_monitor(area) instead of screen_find_monitor_point( topleft corner) in order to find a better monitor when the menu isn't opening with the mouse cursor in the top left corner. I made screen_find_monitor return the primary screen when it failed to find a monitor containing the rect, instead of the total area, no idea what behaviour this will change but I doubt it will be worse.
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-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-11add cleanup function for menus that fires when the menu is no longer visibleDana Jansens
2010-04-16use const Rect* not Rect const*Dana Jansens
2010-02-16more using g_slice_new() instead of g_new()Dana Jansens
2010-02-12remove a bunch of g_new()/g_free() by returning Rect const*'s from screen ↵Dana Jansens
area functions when possible
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-11don't strip the state for keyboard eventsDana Jansens
this allows translation of keys not in the base keyboard layout
2010-01-28Add a hook to unset the client in the open menu frame instead of closing itMikael Magnusson
Also nukes menu_frame_hide_all_client() as it is now unused.
2010-01-28Don't close the menu when you held control even for executeMikael Magnusson
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-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-06Fix a crash when moving into a menu on top of a separator and nothing is ↵Dana Jansens
selected
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-06Allow infinite delay for submenu show/hide by using a negative value.Dana Jansens
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-06improve submenu hide delayAlexey Korop
2010-01-05Revert "Don't hide submenus immediately when unselecting the parent's entry"Dana Jansens
This reverts commit 828c095c8b5a2df96a38faaeb8a0df504e68e70f.
2010-01-05Revert "Fix the delayed hiding of submenus, so that they don't end up hidden ↵Dana Jansens
while the entry is selected" This reverts commit 8ada991d829671ab5e6dd4c5526b6a0238ba6a16.
2009-12-21Set up work for making a 3.5 prerelease.Dana Jansens
Set version stuff to 3.5.0-rc1. Copy the CHANGELOG from 3.4-working. Rename the obt-4.0 and obrender-4.0 pkgconfig stuff to obt-3.5 and obrender-3.5 Rename the "render" directory to "obrender" so that the public headers can be installed in <obrender/*>
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-16Fix the delayed hiding of submenus, so that they don't end up hidden while ↵Dana Jansens
the entry is selected
2009-12-16Ignore enter events caused by closing openbox menusDana Jansens
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-14Let menus place themselves on monitors where the mouse is not presentDana Jansens
This fixes a bug which forced menus to show up on the same monitor as the mouse pointer.
2009-11-07Make clang happierMikael Magnusson
Add asserts to default: in switch statements Store pointed to variables locally so it knows they don't change Remove some dead assignments Mark ob_exit_with_error as noreturn Use "%s", msg instead of just msg to printf style functions Use the c_pfocus variable
2008-03-08Merge branch 'backport' into workMikael Magnusson
Conflicts: obt/keyboard.c openbox/actions/cyclewindows.c openbox/actions/directionalwindows.c openbox/frame.c openbox/openbox.c
2008-03-08Remove double newlines.Mikael Magnusson
2008-02-22Merge branch 'backport' into workDana Jansens
Conflicts: openbox/menuframe.c openbox/prompt.c openbox/prop.c openbox/prop.h
2008-02-22Add theme options for menu line separators.Dana Jansens
Added: menu.separator.color menu.separator.width menu.separator.padding.width menu.separator.padding.height
2008-02-15Merge branch 'backport' into workDana Jansens
Conflicts: openbox/frame.c openbox/menuframe.c
2008-02-14set the window type hint on menus to be "popup menus"Dana Jansens
2008-02-14Introducing the icon cache.Dana Jansens
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-14Merge branch 'backport' into workMikael Magnusson
Diffing against the old work branch where most of the changes in backport were cherry-picked from indicates this should be alright. (0de9097017d4d1991388a35e380a57dc1135b431)
2008-02-14split menu overlap into x and y componentsDana Jansens
2008-02-14Introducing the icon cache.Dana Jansens
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!