Commit graph

301 commits

Author SHA1 Message Date
Dana Jansens
c5c924f7f7 Remove unneeded obrender/button.h 2013-08-10 23:45:42 -04:00
Dana Jansens
4e6c0086a6 Add support for loading SVG icons using librsvg.
This adds a configure option --disable-librsvg, but defaults to
using the library if it is present during configure.

When enabled, Openbox will attempt to load svg image files using
the library, similar to how Imlib2 is used for other image
formats.

Since librsvg uses the libXml2 library, their errors end up in
the same global namespace as Openbox config file parsing. To
avoid this, we reset the libXml current error whenever we start
loading a file, and save the last error that occurred when we
are finished, by storing the error in the ObtXmlInst.
2013-08-10 21:59:12 -04:00
Dana Jansens
dc4cfa94c9 Make LeastOverlap placment replace the behaviour of Smart and address style nits 2012-10-06 21:56:56 -04:00
Ian Zimmerman
4d2ccf1916 LeastOverlap placement option (Fix bug 5385)
Adds a new placement algorithm that finds a place on the monitor that overlaps
the least amount of windows as possible.

Original patch by Ian Zimmerman <itz@buug.org>.
Port to Openbox 3.5 by David Vogt <dv@adfinis.c>.
2012-10-06 21:56:56 -04:00
Dana Jansens
08756833d4 Link X into libobt (Fixes compile on debian). 2012-09-30 14:50:05 -04:00
Dana Jansens
3991e148e2 Fixes for gnome-session 3.
We run by default with a panel (default gnome-panel) and then run Openbox
without any panel if one cannot be found.

- Adds a fallback session for if a panel (default gnome-panel) not found.
- Removes notifications as a requirement.  Seems to be a legacy thing judging
  from the ubuntu .session files.  Notifications are being provided by
  notify-osd on modern systems, and you can't check for its presence in
  gnome-session (gnome-classic.session always fails because it looks for it, so
  ubuntu falls back to gnome-fallback.session).
2011-10-16 18:51:51 -04:00
Fryderyk Dziarmagowski
b1039d6142 Link libobt into libobrender, as it uses things from libobt (bug #5150)
libobrender uses ObtPaths stuff, so it needs to link in libobt.
2011-10-16 18:51:51 -04:00
Dana Jansens
63fcce3791 Don't remove openbox-gnome.session on make clean - it's not generated. 2011-10-11 18:03:24 -04:00
Geoffrey Antos
3f870080de Make openbox-gnome-session compatible with gnome3 with gnome-session 3.0+ support.
Yay they did something nice and made it easier for other window managers to be used.  How unexpected and pleasant.
2011-10-07 09:38:25 -04:00
Mikael Magnusson
d09fd3183e Merge branch 'm4/master' 2011-08-02 22:18:14 +02:00
Mikael Magnusson
cc4e44e837 Link libraries directly to compile on some systems (debian).
If program (A) is linked to library (B) which is linked to library (C),
then A must also link C directly in order to use things from it directly.
2011-08-01 11:51:50 -04:00
Dana Jansens
6624d06dd1 fix global autostart installation, and the pointer to it so it is run 2011-04-11 17:25:45 -04:00
Dana Jansens
6dedf8f37e use top_builddir, not builddir variable in Makefile. seems builddir doesn't always exist/anymore 2011-01-24 14:19:22 -05:00
Dana Jansens
d3d96b572a Revert "add an inotify watcher for directories (doesnt work without inotify yet)"
This reverts commit c36b89ba12.
2011-01-24 14:18:09 -05:00
Dave Foster
6d30d66efb Adding RrButton to libobrender, ref counted appearances. 2010-10-14 15:54:44 +02:00
Dana Jansens
27ae9d65c8 fix make distcheck 2010-10-04 17:36:08 -04:00
Dana Jansens
1666d285d7 Add signal handling with the GMainLoop
Provided through a very simplistic interface in obt, found in the
 obt/signal.[ch] files
2010-09-16 17:24:11 +02:00
Mikael Magnusson
1ffc002132 Make the dock a context and add actions LowerDock and RaiseDock 2010-09-16 17:24:11 +02:00
Dana Jansens
c36b89ba12 add an inotify watcher for directories (doesnt work without inotify yet) 2010-06-14 12:19:01 -04:00
Dana Jansens
fd77a0a7b3 Use GMainLoop instead of ObtMainLoop 2010-06-14 12:19:01 -04:00
Dana Jansens
55b84316bb make an event queue for X events. the queue's min size is 16 XEvents (~3k) 2010-04-28 12:58:42 -04:00
Mikael Magnusson
fde5d8601a Link libobrender, not openbox, to imlib2 2010-04-16 20:56:27 +02:00
Dana Jansens
262591ec1a add BSEARCH() macros in obt/bsearch.h that to a binary search on an array, use it when searching for a group in obt_paths_try_exec() 2010-03-29 23:24:15 -04:00
Dana Jansens
0d90bd57ab Add a new ObtLink type, which is going to be a generalization of a .desktop entry.
Move the .desktop file parsing details into obt/ddparse.c, which generates
  some hash tables holding the data of the file.
Add a new obt/link.c which will build an ObtLink from a parsed .desktop file,
  and may support other ways to create these links in the unforseeable future
2010-03-25 21:11:15 -04:00
Dana Jansens
1861350f55 install the obt/ddfile.h header 2010-03-25 18:11:13 -04:00
Dana Jansens
daa2e0ab71 libexecdir is provided by automake, and gnome-settings-daemon is not always in /usr/libexecdir, use the dir from automake 2010-02-24 13:32:32 -05:00
Dana Jansens
bcc31faf7e revamp the autostart functionality, so autostart apps launch after openbox.
add /usr/libexec/openbox-autostart which runs the global/user scripts and
  launches /usr/libexec/openbox-xdg-autostart (which runs .desktop autostart
  stuff)

make openbox-session call openbox with --startup option, to make openbox launch
  /usr/libexec/openbox-autostart *after* it is initialized.

add /etc/xdg/openbox/environment and ~/.config/openbox/environment files to let
  user change environment variables (locale) for their Openbox session, which
  openbox-session loads before running openbox.
2010-02-17 16:11:36 -05:00
Dana Jansens
4d28614680 Add skeleton for start of dot-desktop-file parser 2010-02-16 22:10:07 -05:00
Dana Jansens
78b8bd01c2 don't link libobt into libobrender
it makes "warning relinking" weird things happen when doing make install.
we already list it as dependency in the pkgconfig file anyway
2010-02-09 11:01:15 -05:00
Dana Jansens
6014a41760 Merge branch 'backport' into work 2010-02-08 14:28:18 -05:00
Dana Jansens
95f81b8e4c Add obxprop manpage to install 2010-02-08 14:23:32 -05:00
Dana Jansens
8c9fb63baa 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).
2010-01-08 17:55:19 -05:00
Mikael Magnusson
51257397b0 Some style changes, less ifdefs. 2010-01-08 17:55:19 -05:00
Kadlcik Libor
0352abfa88 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
:).
2010-01-08 17:55:19 -05:00
Dana Jansens
73575c10ce Merge branch 'backport' into work
Conflicts:

	Makefile.am
	openbox/actions/focus.c
	openbox/config.c
	openbox/event.c
	openbox/menuframe.c
2010-01-08 10:22:30 -05:00
Dana Jansens
e65411aa0d add a manpage for obxprop 2010-01-06 17:13:03 -05:00
Dana Jansens
b06b684589 rename the obt_parse library to obt_xml (since it is very xml specific) 2009-12-21 14:08:38 -05:00
Dana Jansens
7aae8cc526 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/*>
2009-12-21 14:08:34 -05:00
Dana Jansens
a03b817aeb Merge branch 'backport' into work 2009-12-21 10:43:38 -05:00
Dana Jansens
6d8b7bd5f7 Rename obprop to obxprop (Fixes bug #4419)
Avoids collision with openbabel.
2009-12-21 09:59:28 -05:00
Dana Jansens
a93b00a5e9 Merge branch 'backport' into work 2009-12-14 15:25:57 -05:00
Dana Jansens
f3e553446f Add an obprop tool which can print UTF-8 strings properly, for our users. 2009-12-14 15:25:31 -05:00
Dana Jansens
acafa38c8e Merge branch 'backport' into work
Conflicts:
	openbox/config.c
	openbox/event.c
	openbox/prop.c
	openbox/prop.h
	openbox/screen.c
	openbox/screen.h
2009-12-11 19:02:11 -05:00
Dana Jansens
c5155e7422 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
2009-12-10 10:27:54 -05:00
Dana Jansens
2f09e0ce38 Merge branch 'backport' into work
Conflicts:

	openbox/actions/all.h
	openbox/actions/session.c
	openbox/client.c
	openbox/event.c
	openbox/grab.c
2009-12-08 14:19:04 -05:00
Dana Jansens
7f36e21ea9 Combine the Exit and SessionLogout actions
Just "do the right thing" based on if you are connected to a session manager
or not.
2009-11-24 19:36:18 -05:00
Dana Jansens
c828154886 Revert all commits for the Hooks feature to move it to a topic branch.
This reverts commit fd2f617be7.
This reverts commit a47d0a5365.
This reverts commit a1908e0767.
This reverts commit dc2e6f6bf7.
This reverts commit 985e7dadf9.
This reverts commit db781556d6.
This reverts commit feec8f663f.
2009-11-21 13:56:55 -05:00
Mikael Magnusson
b89cc58590 Add all the action names used in 3.4 so configs don't break 2009-09-19 15:57:20 +02:00
Mikael Magnusson
661a53cb68 Don't need to explicitly check for xft. 2008-04-20 00:10:52 +02:00
Dana Jansens
37705f444e Merge branch 'backport' into work
Conflicts:

	openbox/actions/all.h
	openbox/event.c
	openbox/prompt.c
2008-03-02 04:19:05 -05:00