Dana Jansens [Fri, 8 Jan 2010 22:48:07 +0000 (17:48 -0500)]
Rework the code provided by Kadlcik Libor for loading/showing icons in 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).
Kadlcik Libor [Tue, 25 Mar 2008 20:58:12 +0000 (21:58 +0100)]
This patch implements support for icons in user-defined menus into Openbox
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
:).
Dana Jansens [Fri, 8 Jan 2010 15:45:24 +0000 (10:45 -0500)]
Don't handle input events on prompts if they should be used for a 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.
Dana Jansens [Wed, 6 Jan 2010 22:30:42 +0000 (17:30 -0500)]
Improved menu behaviour
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.
Dana Jansens [Mon, 4 Jan 2010 20:07:10 +0000 (15:07 -0500)]
Some fixes for the submenu hide delay code
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
Dana Jansens [Mon, 4 Jan 2010 21:25:13 +0000 (16:25 -0500)]
Make the Focus action stop all interactive actions (Fixes bug #4436)
Old < 3.4.8 Openbox versions would stop focus cycling when focus moved. Now that is not the case, but you should be able to stop it by Choosing a window explicitly still.
Dana Jansens [Mon, 21 Dec 2009 15:53:41 +0000 (10:53 -0500)]
Set up work for making a 3.5 prerelease.
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/*>
Dana Jansens [Mon, 21 Dec 2009 14:51:11 +0000 (09:51 -0500)]
A fix for delayed hiding of submenus.
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
Dana Jansens [Mon, 14 Dec 2009 20:40:09 +0000 (15:40 -0500)]
Allow the user to bind more than one keycode to a keysym for Ob 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.
Dana Jansens [Thu, 10 Dec 2009 15:27:54 +0000 (10:27 -0500)]
Add an openbox.desktop file for the applications/ directory
This is for gnome-session to start Openbox correctly as the window manager
See the commit log for http://cvs.fedoraproject.org/viewvc/devel/openbox/openbox.desktop?revision=1.3&view=markup
Dana Jansens [Wed, 9 Dec 2009 21:00:32 +0000 (16:00 -0500)]
Make the edge detection fully include monitor edges.
This fixes the move-to-edge behaviour, when moving past the edge of a monitor,
the window will stop with its tail edge against the inside of the monitor's
edge.
Dana Jansens [Wed, 9 Dec 2009 19:59:18 +0000 (14:59 -0500)]
Find a valid image to use in the image cache. Fixes bug #1149
The larger of the width and height has to match. If the smaller matches, then
it would have to be resized down to fit inside the area, so that does not
count.
Dana Jansens [Wed, 9 Dec 2009 15:32:36 +0000 (10:32 -0500)]
Set a minimum value for the screenEdgeWarpTime for 25ms.
When this is very small it just gives X/Openbox a heart attack and ends up going forever. Even 25 is quite too fast to be usuable so it should be a good minimum.
Dana Jansens [Tue, 8 Dec 2009 16:11:41 +0000 (11:11 -0500)]
Change _net_active_window behaviour.
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.