Simplify code, by removing the ability to differentiate between
attributes and sub-elements when creating node names. For example,
the following two examples would generate the nodename `bar.foo`
- <bar><foo></foo></bar>
- <bar foo="">
In theory, there could be clashes, but I think in reality it is unlikely.
There are no clashes in openbox-spec and it would be pretty confusing to
have something like:
<font name="">
<name></name>
</font>
The files:
include/config/mousebind.h
src/config/mousebind.c
src/config/rc.xml
were formatted automatically via clang-format using the rules specified
in the .clang-format file. Specifically, the command;
clang-format -i -style=file include/config/mousebind.h \
src/config/mousebind.c src/config/rc.xml
This is unfortunately adding a break before the brace in enum
declarations
Can successfully parse the following XML and and implement the action:
<mouse>
<context name="TitleBar">
<mousebind button="Left" action="DoubleClick">
<action name="ToggleMaximize"/>
</mousebind>
</context>
</mouse>
The XML parsing code for this looks A LOT different than the already
existing XML parsing code. It may have to be reworked
Change the code that detects when to stop cycling the view,
so that instead of looking for the left Alt key release it
looks for all modifiers released (thus. will work whether you
have this action bound to Alt-Tab, C-Tab, Meta-Tab, etc)
To do this we move the test from keyboard_key.notify to
the later signal keyboard_modifiers.notify, because the xkb_state
has been updated by then and the modifier state will be
accurate
This is an addition to the openbox specification and provides a way to
keep config files simpler whilst allowing user-specific keybinds.
docs/rc.xml shows a simple config file with <default />
docs/rc.xml.full shows the full config