summaryrefslogtreecommitdiff
path: root/obt
AgeCommit message (Collapse)Author
2013-09-01Fix bugs and add unit tests for BSEARCH()Dana Jansens
Also adds running unit tests to the release/go script so we can be sure that all tests pass before we make a release.
2013-08-11Fix some compiler warningsDana Jansens
Void function should actually be declared void. Not-reached switch condition should still return something.
2013-08-10Add support for loading SVG icons using librsvg.Dana Jansens
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-04-17Remove some evil tabsMikael Magnusson
2012-10-06Allow window matching based on the group leader's name and class (Fix bug 5721)Dana Jansens
In Openbox 3.4 we used the group leader's WM_CLASS value when it was available. This prevents windows in the group from overriding with a specific value, however which is bad. More rationale can be found in http://icculus.org/pipermail/openbox/2010-September/006790.html Some applications (eg. Firefox) use command line flags to set the WM_CLASS property on the group leader but do not change the property on the mapped windows themselves. This makes matching these windows not possible in Openbox 3.5. We resolve this by exposing the group's WM_CLASS values alongside the individual window's values. We add _OB_APP_GROUP_NAME and _OB_APP_GROUP_CLASS properties along with "groupname" and "classname" attributes for the rc.xml application tag.
2012-09-30Don't strip leading whitespace from menu labels (Fix bug 4782)Dana Jansens
2012-09-30Allow an xml tag to be unregistered from the xml parser.Dana Jansens
2012-09-30Properly build path names for obt_paths_try_execDana Jansens
2012-09-30Add another BSEARCH function that lets you search through an array of objects.Dana Jansens
If you give it a value x, the macro lets you pull a value out of each object that you want to compare to x.
2012-09-30skip empty strings when splitting paths in the environmentDana Jansens
2012-09-30Use the KeyCode to directly find the modifier mask. (Fix bug 5173)Dana Jansens
We were finding the KeySym first, and then converting back to a modifier mask. But KeySym on a key's release can differ from on its press, and we don't need them to determine the modmask from the keycode. [setxkbmap -option "grp:shifts_toggle"] turns Shift_L into XK_ISO_Prev_Group on key release, and Shift_R into XK_ISO_Next_Group.
2011-10-16Remove unused variableDana Jansens
2011-10-16Propagate _NET_WM_WINDOW_OPACITY to the frame window (bug #5132)Dana Jansens
2011-01-24don't free the XIC if it wasn't created. this appears to cause a crashDana Jansens
2011-01-24XML_PARSE_XINCLUDE flag seems to do nothing. Use xmlXIncludeProcessFlags() ↵Dana Jansens
instead
2011-01-24Allow XIncludes in xml documents we read.Dana Jansens
Add the XInclude namespace in the default config file (named "xi")
2011-01-24add some tests for obt pieces (binary search, .desktop parsking, linkbase, ↵Dana Jansens
and inotify watch)
2011-01-24oops, crash if searching for something smaller than * in the arrayDana Jansens
2011-01-24Handle STRING and COMPOUND_TEXT type text properties.Dana Jansens
STRING should be latin1 text (plus TAB and LF) COMPOUND_TEXT should be encoded in the current locale.
2011-01-24Revert "add an inotify watcher for directories (doesnt work without inotify ↵Dana Jansens
yet)" This reverts commit c36b89ba12eae18d3011c8516906c21e9abb89dc.
2010-09-16Fix a copypasto that broke interactive keybinds with meta and hyper keysMikael Magnusson
2010-09-16Correct typo occured -> occurred in function nameMikael Magnusson
2010-09-16Add signal handling with the GMainLoopDana Jansens
Provided through a very simplistic interface in obt, found in the obt/signal.[ch] files
2010-09-1680 colsDana Jansens
2010-06-25Use a gsource instead of gio channels for watching x eventsMikael Magnusson
Fixes not getting some focusin events sometimes.
2010-06-16obt returns libxml2 structures directly, so anyone linking against it better ↵Dana Jansens
also link to libxml2
2010-06-14add an inotify watcher for directories (doesnt work without inotify yet)Dana Jansens
2010-06-14Use GMainLoop instead of ObtMainLoopDana Jansens
2010-06-03save the list of mime types listed as supported by an applicationDana Jansens
2010-06-03parse app Categories better. parse a list of strings into a gchar**Dana Jansens
2010-06-03parse Categories tag and save them as an array of GQuarksDana Jansens
2010-06-03improved .desktop parsing.Dana Jansens
properly (and quickly) check for existence of required keys figure out what an app can open from its exec key validate the %fields in an app's exec key
2010-06-03free the user's group idsDana Jansens
2010-06-03free the path dirsDana Jansens
2010-05-21parse Path, Terminal, and StartupNotifyDana Jansens
2010-05-21parse OnlyShowIn/NotShowInDana Jansens
2010-05-17remove a debug print in the keyboard obt stuffDana Jansens
2010-05-17avoid new gcc warning (casting ** to const** is not valid for good reason)Dana Jansens
2010-04-28found memory corruption in the obt xqueue and pathsDana Jansens
2010-04-28make an event queue for X events. the queue's min size is 16 XEvents (~3k)Dana Jansens
2010-04-16add some comments for binary searchDana Jansens
2010-04-16stat() can give an error, handle thatDana Jansens
2010-03-29add BSEARCH() macros in obt/bsearch.h that to a binary search on an array, ↵Dana Jansens
use it when searching for a group in obt_paths_try_exec()
2010-03-29parse some of the .desktop stuff into an ObtLink structureDana Jansens
localized names still don't work. most of the app-specific stuff isn't done yet. categories aren't handled yet (to only show in/not show in some category)
2010-03-29add obt_paths_try_exec() that will see if an executable existsDana Jansens
2010-03-25figure out what type the value should be for each known .desktop key, and ↵Dana Jansens
watch for invalid keys
2010-03-25Add a new ObtLink type, which is going to be a generalization of a .desktop ↵Dana Jansens
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-25save key values based on their value, but we dont know what values they have yetDana Jansens
2010-03-25add an empty function to parse the Desktop Entry group in a .desktop fileDana Jansens
2010-03-25parse key/value pairs from the .desktop file and save them in a hashtableDana Jansens