summaryrefslogtreecommitdiff
path: root/openbox/menu.c
AgeCommit message (Collapse)Author
2014-11-05Allow selecting menu entries during menuHideDelay if you click again, bug 5501Mikael Magnusson
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-06Resolve gravity coords in menuframe so it can use the widthsMikael Magnusson
2014-10-06double spaceMikael Magnusson
2012-10-06Allow loading of menu files outside of your XDG_CONFIG_HOME (Fix bug 5711)Dana Jansens
When the given file name can not be found in your XDG_CONFIG_HOME, ie in ~/.config/openbox, then try the file name directly. This means if you specify a menu file such as "/home/dana/helloworld.xml", openbox will try, in order: 1) ~/.config/openbox/home/dana/helloworld.xml 2) /home/dana/helloworld.xml And it will load the file you meant when it tries the second one.
2012-09-30Don't strip leading whitespace from menu labels (Fix bug 4782)Dana Jansens
2012-09-30add menu_sort_entries() which sorts all entries in an ObMenuDana Jansens
this function sorts each group of entries that appear together between two consecutive separators (or ends of the list)
2012-09-30hide the menus before shutting them down on reconfigureDana Jansens
2011-10-15Parse all the actions in a single menu itemDana Jansens
2011-08-01Allow setting icons for submenusMikael Magnusson
2011-01-24Big rework of image.c and the image cache system.Dana Jansens
Added a lot of comments, simplified call graphs. Added full (not second-class) support for images coming from named sources (files, icon themes). RrImage holds an RrImageSet. RrImageSet holds a bunch of RrImagePic, which are different sizes of a logical image. RrImageSet objects can be merged if it is discovered they (will) share an RrImagePic. The RrImage objects are updated to use the new merged RrImageSet.
2011-01-24Don't hog the user during the hideDelayMikael Magnusson
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-02-16more using g_slice_new() instead of g_new()Dana Jansens
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-15allow multiple escaped _'s in a menu label, and allow a real _ to come later ↵Dana Jansens
in the label (Fixes bug #4355).
2010-01-11NULL ic when we failed to load an imageMikael Magnusson
2010-01-08Rework the code provided by Kadlcik Libor for loading/showing icons in ↵Dana Jansens
Openbox menus. This changes how the imagecache works, you can load an image into it directly, or you can load it by name (then it will load it from a file on disk). NOTE: The name part is incomplete, as it needs to use the freedesktop.org icon spec to search for the right file. Also to resize it should look for another icon on disk with the same name but different size (icon themes).
2010-01-08Some style changes, less ifdefs.Mikael Magnusson
2010-01-08This patch implements support for icons in user-defined menus into OpenboxKadlcik Libor
Image loading is done using the Imlib2 library. I chose Imlib2 because it's pretty fast, it's easy to use, supports many file formats (tested xpm, gif, jpeg, png) and doesn't introduce too much bloat (it depends :)). I ported the patch to 3.4.7-pre3 and added some enhancements. Caching is much better now, and icons can be disabled at compile time using --disable-imlib2 option. What's new? Syntax of configuration files (namely rc.xml and menu.xml) has been changed slightly to allow users to associate icons to menu entries. This is done by specifying path to icon file in the new "icon" attribute in "<item>" element, e.g: <item label="Vim" icon="/usr/share/pixmaps/vim-32.xpm"> <action name="Execute"><execute>x-terminal-emulator -T Vim -e vim</execute></action> </item> If user doesn't want to display any icons in his user-defined menus, he/she can disable icons in rc.xml, inside "<menu>" section: <menu> ... <showIcons>no</showIcons> ... </menu> Default value is "yes". (New boolean variable "config_menu_user_show_icons" has been added to source code.) An icon is loaded (using menu_item_attach_icon()) when a new entry of menu is created. Fortunately, I haven't notice any performance problems because of this :).
2010-01-08use obt_xml_* to navigate the xml file (also XML tags are case sensitive)Dana Jansens
2009-12-21rename the obt_parse library to obt_xml (since it is very xml specific)Dana Jansens
2009-09-19Merge branch 'backport' into workMikael Magnusson
Conflicts: openbox/actions/desktop.c openbox/client.c openbox/event.c openbox/extensions.c openbox/popup.c openbox/screen.c parser/parse.c
2009-07-05Allow escaping _ in menu labels by putting __Mikael Magnusson
Currently you can't mark anything that comes after the __ with _ to make that a shortcut.
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-21Merge branch 'backport' into workDana Jansens
Conflicts: openbox/openbox.c openbox/session.c
2008-02-21Change all single quotes to double quotes in strings.Mikael Magnusson
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-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-01-20move the xdg path stuff into obt/paths.[ch], and make render and openbox use itDana Jansens
2008-01-20was using random memory for parsing pipe menus with the new parse apiDana Jansens
2008-01-20add obt_parse_tree_from_root and use it, cuz it's niceDana Jansens
2008-01-20update openbox to use the current parser interface in libobtDana Jansens
there is also some random bug fixes for other libobt stuff in here.
2008-01-20Move the main loop out into the libobtDana Jansens
2007-09-04ANSI function declarations, ie () -> (void)Mikael Magnusson
2007-08-07Only copy execute_func to the more_menu.Mikael Magnusson
Also don't bother copying NULL around in menu_new.
2007-08-07Fix another memleakMikael Magnusson
2007-07-17remove trailing whitespaceMikael Magnusson
2007-07-10let you specify shortcuts in your menus. change & to be _ for shortcut selectionDana Jansens
2007-06-23add shortcuts to add/remove desktops in the client list menus.Dana Jansens
also make it so &-specified shortcuts are always underlined
2007-06-22add the showmenu actionDana Jansens
2007-06-22well.. it compiles..Dana Jansens
2007-06-10cache pipe menus without crashing!Dana Jansens
2007-06-10cache pipe menus until the menus closeDana Jansens
2007-06-02do the menu_can_hide thing properly. was such a hack before? and the ↵Dana Jansens
variable was getting set from all kinds of events like motion notify. totally not reliable. now it works all nice.
2007-05-30add a big comment about more menusDana Jansens
2007-05-30dont need to recurseDana Jansens