Commit graph

152 commits

Author SHA1 Message Date
Liam Middlebrook
875b258602 output: Add option to preview the contents of the current cycle_view
Add the 'cycleViewPreview.core' option to rc.xml to enable previews of
the selected view when cycling between windows. Default this option to
be disabled to match current behavior.
2022-01-23 16:02:54 +00:00
Consolatis
c484ab252e config/rcxml: Prevent overwriting action argument 2022-01-23 10:44:51 -05:00
Consolatis
f0a3f365e5 Centralize freeing of action lists
Reduces some code duplication and makes it easier to extend struct action
2022-01-23 10:36:04 -05:00
Consolatis
d9cef42721 CodeStyle 2022-01-09 06:37:39 +00:00
Consolatis
87f4a60e38 Allow mouse movements to trigger SnapToEdge 2022-01-08 10:30:03 +00:00
ARDiDo
a893607a0e mousebindings: change default focus and raise to press from drag.
This raises the window without having to drag it.
2022-01-07 22:05:07 +00:00
ARDiDo
5935a78fb4 mouse: add support for drag mouse event 2022-01-07 22:05:07 +00:00
Consolatis
2b82bdcdb7 More robust rc.xml parsing 2022-01-06 19:44:00 +00:00
Consolatis
0b45cce648 Rewrite action handling to allow multiple actions at once 2022-01-05 16:22:41 +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
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
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
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
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
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
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
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