Commit graph

109 commits

Author SHA1 Message Date
Consolatis
f28319be54 config/keybind.c: Don't overwrite the stack 2022-01-03 08:27:22 +00:00
Johan Malm
c797dbe189 config: de-couple <FollowMouse> and <raiseOnFocus>
Set these two variables indepently of each other as this is cleaner and
more explicit.

In openbox <raiseOnFocus> only applies if <followMouse> is set, but there
is no need to immitate this.
2021-12-29 14:04:41 +00:00
bi4k8
26d3d13a82 move edge resizing from hard-coded to configuration 2021-12-26 21:31:11 +00:00
bi4k8
5ee4baee7a implement corner/edge mouse contexts 2021-12-26 21:31:11 +00:00
Consolatis
fa18f347e5 config/rcxml: Allow multiple <action>s inside of a <mousebind>
Issue arises when using the default config from docs/rc.xml.all.
Without this patch only the last action defined inside a <mousebind>
will have an effect.

Without a config or when defining the same <mousebind> multiple times
with each containing only a single <action> the issue does not exist.
2021-12-23 09:53:11 -05:00
bi4k8
a3796fa6f3 implement libinput tapButtonMap setting
this is a standard libinput setting that was not previously exposed
2021-12-12 19:00:58 -05:00
ARDiDo
859495a8be Config: add OSD font configuration 2021-12-06 17:44:28 -05:00
Johan Malm
3df4ade615 rcxml.c: set default Client Right/Middle Press
Raise+Focus, just as for Left Press
2021-12-03 22:11:09 +00:00
Johan Malm
04d69d8711 rcxml.c: add Alt-Left/Right to default mousebinds 2021-12-03 22:02:38 +00:00
bi4k8
a9f11c5fc7 move window raise/focus on click from hard-coded logic to default mouse binding 2021-12-03 06:46:43 +00:00
bi4k8
11512d30af implement root menu display as a default mouse binding 2021-12-03 06:46:43 +00:00
bi4k8
6b3320bcc1 do not add mouse bindings with no set context 2021-12-02 17:58:31 +00:00
bi4k8
b008917895 implement handling for Client, Frame, and Root/Desktop (conflated for now) mouse contexts 2021-12-02 17:58:31 +00:00
bi4k8
4f6297d1ad parse menu names from Menu mouse-bindings 2021-12-01 23:17:19 +00:00
bi4k8
8eab1e8132 parse and respect modifiers for mouse bindings 2021-12-01 15:11:21 -05:00
bi4k8
c34a2fc976 make parse_modifiers public 2021-12-01 15:11:21 -05:00
Johan Malm
d50c2f2eac Fix minor style violations 2021-11-26 19:27:50 +00:00
John Lindgren
c01d1f124c Basic support for Move action
- Add Move as a default mouse binding for a Titlebar Press action
- Remove the hard-coded handling in cursor_button()

Example config snippet:

    <mouse>
      <context name="Titlebar">
        <mousebind button="Left" action="Press">
          <action name="Focus"/>
          <action name="Raise"/>
          <action name="Move"/>
        </mousebind>
      </context>
    </mouse>
2021-11-26 18:25:04 +00:00
ARDiDo
6b948c7106 mousebind: add support for more contexts and mouse events 2021-11-02 18:14:50 +00:00
ARDiDo
9d37860a40 resistance: update documentation + default strength value 2021-10-26 21:15:13 +01:00
ARDiDo
8f8359597c resistance: move to <resistance> node 2021-10-26 21:15:13 +01:00
ARDiDo
a24e17dea7 Improve expandibility 2021-10-26 21:15:13 +01:00
ARDiDo
e1c8b3c641 Partial screen_edge_strength 2021-10-26 21:15:13 +01:00
Johan Malm
c48b9d44d1 config: add <core><adaptiveSync> 2021-10-22 20:23:09 +01:00
Johan Malm
d9253331cd config: make capitalization consistent in rc.xml 2021-10-21 20:40:14 +01:00
Joshua Ashton
95ce9e0264 keybind: Fix shift modifiers
Need to lower the syms for these to match!

Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-10-21 18:15:42 +01:00
Johan Malm
7398966661 config: change libinput variables to camelCase
This is more consistent with other rc.xml variables.

strcasecmp() is used in src/config/rc.xml, so there are not backward
compatibility issues.
2021-10-19 21:44:44 +01:00
Joshua Ashton
d8a499deaa config: Fix RaiseOnFocus always setting FollowMouse
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-10-18 17:25:08 +01:00
Johan Malm
526fb1668c config: use super+arrow for SnapToEdge by default 2021-10-17 21:30:48 +01:00
Johan Malm
606b6d946e Fix coding style, mostly whitespace 2021-10-15 20:52:36 +01:00
Johan Malm
f8e1d76333 config: survive parsing error
It is no good crashing on an rc.xml syntax error, particularly on a
SIGHUP when the user could have applications open.
2021-10-15 20:33:55 +01:00
ARDiDo
416499624e Complete libinput configuration 2021-10-15 19:11:35 +01:00
Johan Malm
417763e8f8 config: support audio and monitor keys by default
Add default keybinds:

    XF86_AudioLowerVolume - amixer sset Master 5%-
    XF86_AudioRaiseVolume - amixer sset Master 5%+
    XF86_AudioMute - amixer sset Master toggle
    XF86_MonBrightnessUp - brightnessctl set +10%
    XF86_MonBrightnessDown - brightnessctl set 10%-
2021-10-14 19:37:57 +01:00
Johan Malm
71c8aa1361 session: resolve variables in environment file
When parsing <key>=<value> pairs to set enrivonment variables,
resolve variables in <value>.

For example, resolve $bar in

    foo=$bar

Fix issue #70
2021-10-11 22:15:44 +01:00
ARDiDo
326b4aebd1 keyboard repeat configuration 2021-10-10 11:34:48 +01:00
ARDiDo
3dc4c02c54 partial libinput configuration 2021-10-10 11:34:48 +01:00
Johan Malm
d2375b025d Fix coding style 2021-09-24 22:04:03 +01:00
Johan Malm
104f635b43 session.c: change "(foo*)" to "(foo *)" 2021-09-24 21:58:46 +01:00
Johan Malm
ebb632419b *.c: add SPDX-License-Identifier 2021-09-24 21:45:48 +01:00
Johan Malm
97e8cb45ec config: remove comment describing simple code 2021-09-22 20:36:55 +01:00
Johan Malm
e1c1b4544d config: remove is_attribute
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>
2021-09-22 20:25:57 +01:00
Johan Malm
39b9133cec rcxml: refactor load_default_key_bindings() 2021-09-06 22:04:56 +01:00
Johan Malm
b5acf387b8 rcxml: set default mousebind
...if none specified by the user in ~/.config/labwc/rc.xml
2021-09-06 22:02:02 +01:00
Johan Malm
62d93d54c5 rcxml: refactor mousebind implementation 2021-09-06 21:54:00 +01:00
alexander bryan
1ac654f006 Apply coding std to <mouse> code & add .clang-format
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
2021-09-01 07:05:37 +01:00
alexander bryan
10a685a0e4 refactor <mouse> xml parsing to match rest of xml parsing 2021-09-01 07:05:37 +01:00
alex
92891b4dfa change mousebind code to use already existing enums
Also added an #include statement to ssd.h so it would compile without
depending on other headers to be #included before it
2021-09-01 07:05:37 +01:00
alex
36f5b49f2a Implemented <doubleClickTime> in rc.xml 2021-09-01 07:05:37 +01:00
alex
dfdb4e4b0e First implemenation of <mouse> in rc.xml
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
2021-09-01 07:05:37 +01:00
Johan Malm
b7573c8d36 rcxml: load default keybinds on <keyboard><default />
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
2021-08-22 19:09:31 +01:00