Mikael Magnusson
f6fb70a4b9
Remove some evil tabs
2013-04-17 13:23:19 +02:00
Dana Jansens
6eb740cf11
Allow window matching based on the group leader's name and class (Fix bug 5721)
...
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-10-06 21:56:56 -04:00
Dana Jansens
dff5276482
Don't strip leading whitespace from menu labels (Fix bug 4782)
2012-09-30 15:53:35 -04:00
Dana Jansens
d58ed5c413
Allow an xml tag to be unregistered from the xml parser.
2012-09-30 14:57:41 -04:00
Dana Jansens
69672e9d07
Properly build path names for obt_paths_try_exec
2012-09-30 14:57:24 -04:00
Dana Jansens
7d32190a4c
Add another BSEARCH function that lets you search through an array of objects.
...
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-30 14:50:30 -04:00
Dana Jansens
30fe9697df
skip empty strings when splitting paths in the environment
2012-09-30 14:50:30 -04:00
Dana Jansens
be9637e403
Use the KeyCode to directly find the modifier mask. (Fix bug 5173)
...
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.
2012-09-30 14:48:04 -04:00
Dana Jansens
14deacc8f3
Remove unused variable
2011-10-16 18:51:51 -04:00
Dana Jansens
aa15563fee
Propagate _NET_WM_WINDOW_OPACITY to the frame window (bug #5132 )
2011-10-16 18:51:51 -04:00
Dana Jansens
f14bf9cac2
don't free the XIC if it wasn't created. this appears to cause a crash
2011-01-24 14:19:23 -05:00
Dana Jansens
80b6d4ac5d
XML_PARSE_XINCLUDE flag seems to do nothing. Use xmlXIncludeProcessFlags() instead
2011-01-24 14:19:23 -05:00
Dana Jansens
4f8503c2c5
Allow XIncludes in xml documents we read.
...
Add the XInclude namespace in the default config file (named "xi")
2011-01-24 14:19:22 -05:00
Dana Jansens
b1fc19711f
add some tests for obt pieces (binary search, .desktop parsking, linkbase, and inotify watch)
2011-01-24 14:19:22 -05:00
Dana Jansens
7eeae03f06
oops, crash if searching for something smaller than * in the array
2011-01-24 14:19:22 -05:00
Dana Jansens
5d5714f01e
Handle STRING and COMPOUND_TEXT type text properties.
...
STRING should be latin1 text (plus TAB and LF)
COMPOUND_TEXT should be encoded in the current locale.
2011-01-24 14:19:21 -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
Mikael Magnusson
670ff8b4b8
Fix a copypasto that broke interactive keybinds with meta and hyper keys
2010-09-16 17:24:12 +02:00
Mikael Magnusson
eafcc06030
Correct typo occured -> occurred in function name
2010-09-16 17:24:11 +02: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
Dana Jansens
6865e538a3
80 cols
2010-09-16 17:24:11 +02:00
Mikael Magnusson
a1bb01c92e
Use a gsource instead of gio channels for watching x events
...
Fixes not getting some focusin events sometimes.
2010-06-25 13:08:00 +02:00
Dana Jansens
de7c3f466f
obt returns libxml2 structures directly, so anyone linking against it better also link to libxml2
2010-06-16 13:26:11 -04: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
2e94af28e4
save the list of mime types listed as supported by an application
2010-06-03 13:57:47 -04:00
Dana Jansens
b025a0268f
parse app Categories better. parse a list of strings into a gchar**
2010-06-03 13:53:19 -04:00
Dana Jansens
78a8f407a9
parse Categories tag and save them as an array of GQuarks
2010-06-03 13:09:38 -04:00
Dana Jansens
a6141fe7a4
improved .desktop parsing.
...
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-03 12:10:54 -04:00
Dana Jansens
d9d65b7385
free the user's group ids
2010-06-03 11:58:13 -04:00
Dana Jansens
19e051a466
free the path dirs
2010-06-03 11:56:15 -04:00
Dana Jansens
475961e17f
parse Path, Terminal, and StartupNotify
2010-05-21 20:10:34 -04:00
Dana Jansens
0c8c9caba6
parse OnlyShowIn/NotShowIn
2010-05-21 20:03:21 -04:00
Dana Jansens
ab7673c816
remove a debug print in the keyboard obt stuff
2010-05-17 19:34:41 -04:00
Dana Jansens
5450618297
avoid new gcc warning (casting ** to const** is not valid for good reason)
2010-05-17 19:31:57 -04:00
Dana Jansens
5e424b81d2
found memory corruption in the obt xqueue and paths
2010-04-28 12:58:45 -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
Dana Jansens
3997d7aef5
add some comments for binary search
2010-04-16 20:56:27 +02:00
Dana Jansens
3afa20de54
stat() can give an error, handle that
2010-04-16 20:56:24 +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
3121146ecc
parse some of the .desktop stuff into an ObtLink structure
...
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-29 22:38:05 -04:00
Dana Jansens
67bed35b7c
add obt_paths_try_exec() that will see if an executable exists
2010-03-29 22:32:07 -04:00
Dana Jansens
11bb31d3bc
figure out what type the value should be for each known .desktop key, and watch for invalid keys
2010-03-25 22:04:48 -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
749d6f0938
save key values based on their value, but we dont know what values they have yet
2010-03-25 19:31:57 -04:00
Dana Jansens
a1fa5dca08
add an empty function to parse the Desktop Entry group in a .desktop file
2010-03-25 18:11:13 -04:00
Dana Jansens
00fb4d392f
parse key/value pairs from the .desktop file and save them in a hashtable
2010-03-25 18:11:13 -04:00
Dana Jansens
448cc6620e
close the .desktop file after parsing it
2010-03-25 18:11:13 -04:00
Dana Jansens
159a3cb3b1
free the path after done with it
2010-03-25 18:11:13 -04:00
Dana Jansens
4e70343b3e
g_warning adds a \n
2010-03-25 18:11:13 -04:00