Skip to content

Instantly share code, notes, and snippets.

@lidgnulinux
Created November 18, 2022 10:50
Show Gist options
  • Save lidgnulinux/b63c58a247dcf78f06a3f142c6f9e591 to your computer and use it in GitHub Desktop.
Save lidgnulinux/b63c58a247dcf78f06a3f142c6f9e591 to your computer and use it in GitHub Desktop.
<?xml version="1.0"?>
<!--
This file contains all supported config elements & attributes with
default values.
-->
<labwc_config>
<core>
<decoration>server</decoration>
<gap>0</gap>
<adaptiveSync>no</adaptiveSync>
<cycleViewPreview>no</cycleViewPreview>
<cycleViewOutlines>yes</cycleViewOutlines>
</core>
<!-- <font><theme> can be defined without an attribute to set all places -->
<theme>
<name></name>
<cornerRadius>8</cornerRadius>
<font place="ActiveWindow">
<name>sans</name>
<size>10</size>
<slant>normal</slant>
<weight>normal</weight>
</font>
<font place="MenuItem">
<name>sans</name>
<size>10</size>
<slant>normal</slant>
<weight>normal</weight>
</font>
<font place="OnScreenDisplay">
<name>sans</name>
<size>10</size>
<slant>normal</slant>
<weight>normal</weight>
</font>
</theme>
<!-- edge strength is in pixels -->
<resistance>
<screenEdgeStrength>20</screenEdgeStrength>
</resistance>
<focus>
<followMouse>no</followMouse>
<raiseOnFocus>no</raiseOnFocus>
</focus>
<!-- Set range to 0 to disable window snapping completely -->
<snapping>
<range>1</range>
<topMaximize>yes</topMaximize>
</snapping>
<!--
Use GoToDesktop left | right to switch workspaces.
Use SendToDesktop left | right to move windows.
See man labwc-actions for futher information.
Workspaces can be configured like this:
<desktops>
<popupTime>1000</popupTime>
<names>
<name>Workspace 1</name>
<name>Workspace 2</name>
<name>Workspace 3</name>
</names>
</desktops>
-->
<desktops>
<!--
popupTime defaults to 1000 so could be left out.
Set to 0 to completely disable the workspace OSD.
-->
<popupTime>1000</popupTime>
<names>
<name>Default</name>
</names>
</desktops>
<!--
Keybind actions are specified in labwc-actions(5)
The following keybind modifiers are supported:
W - window/super/logo
A - alt
C - ctrl
S - shift
Use <keyboard><default /> to load all the default keybinds (those listed
below). If the default keybinds are largely what you want, a sensible
approach could be to start the <keyboard> section with a <default />
element, and then (re-)define any special binds you need such as launching
your favourite terminal or application launcher.
-->
<keyboard>
<repeatRate>25</repeatRate>
<repeatDelay>600</repeatDelay>
<keybind key="A-Tab">
<action name="NextWindow" />
</keybind>
<keybind key="W-Return">
<action name="Execute"><command>foot</command></action>
</keybind>
<keybind key="A-p">
<action name="Execute"><command>fulan</command></action>
</keybind>
<keybind key="A-F4">
<action name="Close" />
</keybind>
<keybind key="W-a">
<action name="ToggleMaximize" />
</keybind>
<keybind key="A-Left">
<action name="MoveToEdge"><direction>left</direction></action>
</keybind>
<keybind key="A-Right">
<action name="MoveToEdge"><direction>right</direction></action>
</keybind>
<keybind key="A-Up">
<action name="MoveToEdge"><direction>up</direction></action>
</keybind>
<keybind key="A-Down">
<action name="MoveToEdge"><direction>down</direction></action>
</keybind>
<keybind key="W-Left">
<action name="SnapToEdge"><direction>left</direction></action>
</keybind>
<keybind key="W-Right">
<action name="SnapToEdge"><direction>right</direction></action>
</keybind>
<keybind key="W-Up">
<action name="SnapToEdge"><direction>up</direction></action>
</keybind>
<keybind key="W-Down">
<action name="SnapToEdge"><direction>down</direction></action>
</keybind>
<keybind key="A-Space">
<action name="ShowMenu"><menu>client-menu</menu></action>
</keybind>
<keybind key="XF86_AudioLowerVolume">
<action name="Execute"><command>amixer sset Master 5%-</command></action>
</keybind>
<keybind key="XF86_AudioRaiseVolume">
<action name="Execute"><command>amixer sset Master 5%+</command></action>
</keybind>
<keybind key="XF86_AudioMute">
<action name="Execute"><command>amixer sset Master toggle</command></action>
</keybind>
<keybind key="XF86_MonBrightnessUp">
<action name="Execute"><command>brightnessctl set +10%</command></action>
</keybind>
<keybind key="XF86_MonBrightnessDown">
<action name="Execute"><command>brightnessctl set 10%-</command></action>
</keybind>
</keyboard>
<!--
Multiple <mousebind> can exist within one <context>
Multiple <actions> can exist within one <mousebind>
Currently, the only openbox-action not supported is "Unshade"
-->
<mouse>
<!-- time is in ms -->
<doubleClickTime>500</doubleClickTime>
<context name="Frame">
<mousebind button="W-Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="W-Left" action="Drag">
<action name="Move"/>
</mousebind>
<mousebind button="A-Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="A-Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="Top">
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="Left">
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="Right">
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="Bottom">
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="TRCorner">
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="BRCorner">
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="TLCorner">
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="BLCorner">
<mousebind button="Left" action="Drag">
<action name="Resize"/>
</mousebind>
</context>
<context name="TitleBar">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Right" action="Click">
<action name="Focus" />
<action name="Raise" />
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</mousebind>
</context>
<context name="Title">
<mousebind button="Left" action="Drag">
<action name="Move"/>
</mousebind>
<mousebind button="Left" action="DoubleClick">
<action name="ToggleMaximize"/>
</mousebind>
</context>
<context name="Maximize">
<mousebind button="Left" action="Click">
<action name="Focus"/>
<action name="Raise"/>
<action name="ToggleMaximize"/>
</mousebind>
</context>
<context name="WindowMenu">
<mousebind button="Left" action="Click">
<action name="ShowMenu">
<menu>client-menu</menu>
</action>
</mousebind>
</context>
<context name="Iconify">
<mousebind button="left" action="Click">
<action name="Iconify"/>
</mousebind>
</context>
<context name="Close">
<mousebind button="Left" action="Click">
<action name="Close"/>
</mousebind>
</context>
<context name="Client">
<mousebind button="Left" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Middle" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
<mousebind button="Right" action="Press">
<action name="Focus"/>
<action name="Raise"/>
</mousebind>
</context>
<context name="Root">
<mousebind button="Left" action="Press">
<action name="ShowMenu"><menu>root-menu</menu></action>
</mousebind>
<mousebind button="Right" action="Press">
<action name="ShowMenu"><menu>root-menu</menu></action>
</mousebind>
<mousebind button="Middle" action="Press">
<action name="ShowMenu"><menu>root-menu</menu></action>
</mousebind>
<mousebind direction="Up" action="Scroll">
<action name="GoToDesktop" to="left"/>
</mousebind>
<mousebind direction="Down" action="Scroll">
<action name="GoToDesktop" to="right"/>
</mousebind>
</context>
</mouse>
<!--
The *category* element can be set to touch, non-touch, default or the name
of a device. You can obtain device names by running *libinput list-devices*
as root or member of the input group.
Tap is set to *yes* be default. All others are left blank in order to use
device defaults.
All values are [yes|no] except for:
- pointerSpeed [-1.0 to 1.0]
- accelProfile [flat|adaptive]
- tapButtonMap [lrm|lmr]
-->
<libinput>
<device category="">
<naturalScroll></naturalScroll>
<leftHanded></leftHanded>
<pointerSpeed></pointerSpeed>
<accelProfile></accelProfile>
<tap>yes</tap>
<tapButtonMap></tapButtonMap>
<middleEmulation></middleEmulation>
<disableWhileTyping></disableWhileTyping>
</device>
</libinput>
</labwc_config>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment