| Age | Commit message (Collapse) | Author |
|
|
|
|
|
This way, it can avoid running the code that moves it to a good position
relative to a mouse that isn't there
|
|
|
|
|
|
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.
|
|
|
|
this function sorts each group of entries that appear together between two
consecutive separators (or ends of the list)
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
Also nukes menu_frame_hide_all_client() as it is now unused.
|
|
in the label (Fixes bug #4355).
|
|
|
|
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).
|
|
|
|
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
:).
|
|
|
|
|
|
Conflicts:
openbox/actions/desktop.c
openbox/client.c
openbox/event.c
openbox/extensions.c
openbox/popup.c
openbox/screen.c
parser/parse.c
|
|
Currently you can't mark anything that comes after the __ with _ to make
that a shortcut.
|
|
Conflicts:
obt/keyboard.c
openbox/actions/cyclewindows.c
openbox/actions/directionalwindows.c
openbox/frame.c
openbox/openbox.c
|
|
|
|
Conflicts:
openbox/openbox.c
openbox/session.c
|
|
|
|
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!
|
|
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!
|
|
|
|
|
|
|
|
there is also some random bug fixes for other libobt stuff in here.
|
|
|
|
|
|
Also don't bother copying NULL around in menu_new.
|
|
|
|
|
|
|
|
also make it so &-specified shortcuts are always underlined
|
|
|
|
|
|
|
|
|
|
variable was getting set from all kinds of events like motion notify. totally not reliable. now it works all nice.
|
|
|
|
|