summaryrefslogtreecommitdiff
path: root/config/labwc/rc.xml
diff options
context:
space:
mode:
Diffstat (limited to 'config/labwc/rc.xml')
-rw-r--r--config/labwc/rc.xml454
1 files changed, 454 insertions, 0 deletions
diff --git a/config/labwc/rc.xml b/config/labwc/rc.xml
new file mode 100644
index 0000000..500658e
--- /dev/null
+++ b/config/labwc/rc.xml
@@ -0,0 +1,454 @@
+<?xml version="1.0"?>
+
+<labwc_config>
+
+ <core>
+ <adaptiveSync>yes</adaptiveSync>
+ <allowTearing>yes</allowTearing>
+ <autoEnableOutputs>yes</autoEnableOutputs>
+ <reuseOutputMode>no</reuseOutputMode>
+ <xwaylandPersistence>no</xwaylandPersistence>
+ </core>
+
+ <placement>
+ <policy>cascade</policy>
+ </placement>
+
+ <!-- <font><theme> can be defined without an attribute to set all places -->
+ <theme>
+ <name>gruvbox-material-dark-blocks</name>
+ <icon></icon>
+ <fallbackAppIcon>labwc</fallbackAppIcon>
+ <titlebar>
+ <layout>:iconify,max,close</layout>
+ <showTitle>yes</showTitle>
+ </titlebar>
+ <cornerRadius>8</cornerRadius>
+ <keepBorder>yes</keepBorder>
+ <dropShadows>no</dropShadows>
+ <dropShadowsOnTiled>no</dropShadowsOnTiled>
+ <font place="ActiveWindow">
+ <name>UbuntuMono Nerd Font Mono</name>
+ <size>10</size>
+ <slant>normal</slant>
+ <weight>normal</weight>
+ </font>
+ <font place="InactiveWindow">
+ <name>UbuntuMono Nerd Font Mono</name>
+ <size>10</size>
+ <slant>normal</slant>
+ <weight>normal</weight>
+ </font>
+ <font place="MenuHeader">
+ <name>UbuntuMono Nerd Font Mono</name>
+ <size>10</size>
+ <slant>normal</slant>
+ <weight>normal</weight>
+ </font>
+ <font place="MenuItem">
+ <name>UbuntuMono Nerd Font Mono</name>
+ <size>10</size>
+ <slant>normal</slant>
+ <weight>normal</weight>
+ </font>
+ <font place="OnScreenDisplay">
+ <name>UbuntuMono Nerd Font Mono</name>
+ <size>10</size>
+ <slant>normal</slant>
+ <weight>normal</weight>
+ </font>
+ </theme>
+
+ <windowSwitcher show="yes" preview="yes" outlines="no" allWorkspaces="no">
+ <fields>
+ <field content="icon" width="5%" />
+ <field content="desktop_entry_name" width="30%" />
+ <field content="title" width="65%" />
+ <!--
+ Just as for window-rules, you can use 'identifier' or
+ 'trimmed_identifier' to show the app_id for native wayland clients or
+ WM_CLASS for XWayland clients.
+
+ <field content="trimmed_identifier" width="65%" />
+ -->
+ </fields>
+ </windowSwitcher>
+
+ <!-- edge strength is in pixels -->
+ <resistance>
+ <screenEdgeStrength>20</screenEdgeStrength>
+ <windowEdgeStrength>20</windowEdgeStrength>
+ <!-- resistance for maximized/tiled windows -->
+ <unSnapThreshold>20</unSnapThreshold>
+ <!-- resistance for vertically/horizontally maximized windows -->
+ <unMaximizeThreshold>150</unMaximizeThreshold>
+ </resistance>
+
+ <resize>
+ <!-- Show a simple resize and move indicator -->
+ <popupShow>Never</popupShow>
+ <!-- Let client redraw its contents while resizing -->
+ <drawContents>yes</drawContents>
+ <!-- Borders are effectively 8 pixels wide regardless of visual appearance -->
+ <minimumArea>8</minimumArea>
+
+ <!--
+ Set cornerRange to a positive value to increase the size of corner
+ regions for mouse actions and diagonal window resizing. When omitted,
+ the default size of the corner region is half of the titlebar height.
+
+ <cornerRange>8</cornerRange>
+ -->
+ </resize>
+
+ <focus>
+ <followMouse>no</followMouse>
+ <followMouseRequiresMovement>yes</followMouseRequiresMovement>
+ <raiseOnFocus>yes</raiseOnFocus>
+ </focus>
+
+ <snapping>
+ <!-- Set range to 0 to disable window snapping completely -->
+ <range>10</range>
+ <overlay enabled="yes">
+ <delay inner="500" outer="500" />
+ </overlay>
+ <topMaximize>yes</topMaximize>
+ <notifyClient>always</notifyClient>
+ </snapping>
+
+ <!--
+ Workspaces can be configured like this:
+ <desktops>
+ <popupTime>1000</popupTime>
+ <names>
+ <name>Workspace 1</name>
+ <name>Workspace 2</name>
+ <name>Workspace 3</name>
+ <name>Workspace 4</name>
+ </names>
+ </desktops>
+
+ Or it can also be configured like this:
+ <desktops number="4" />
+
+ Or like this:
+ <desktops>
+ <popupTime>500</popupTime>
+ <number>5</number>
+ <prefix>ws</prefix>
+ </desktops>
+
+ Or:
+ <desktops number="4" popupTime="500" prefix="ws" />
+
+ popupTime defaults to 1000 so could be left out.
+ Set to 0 to completely disable the workspace OSD.
+
+ prefix defaults to "Workspace" when using number instead of names.
+
+ Use GoToDesktop left | right to switch workspaces.
+ Use SendToDesktop left | right to move windows.
+ See man labwc-actions for further information.
+ -->
+ <desktops number="2" />
+
+ <keyboard>
+ <!--
+ # Numlock is not set by default
+ <numlock>on|off</numlock>
+ -->
+ <layoutScope>global</layoutScope>
+ <repeatRate>25</repeatRate>
+ <repeatDelay>600</repeatDelay>
+ <keybind key="A-Tab">
+ <action name="NextWindow" />
+ </keybind>
+ <keybind key="A-S-Tab">
+ <action name="PreviousWindow" />
+ </keybind>
+ <keybind key="C-A-t">
+ <action name="Execute" command="alacritty" />
+ </keybind>
+ <keybind key="W-Space">
+ <action name="Execute">
+ <command>sh -c 'bemenu-run -b --fn "UbuntuMono Nerd Font Mono"'</command>
+ </action>
+ </keybind>
+ <keybind key="W-S-s">
+ <action name="Execute">
+ <command>sh -c 'grim -g "$(slurp)" - | wl-copy'</command>
+ </action>
+ </keybind>
+ <keybind key="W-x">
+ <action name="Execute" command="swaylock" />
+ </keybind>
+ <keybind key="W-q">
+ <action name="Close" />
+ </keybind>
+ <keybind key="W-m">
+ <action name="ToggleMaximize" />
+ </keybind>
+ <keybind key="W-h">
+ <action name="Iconify" />
+ </keybind>
+ <keybind key="W-Left">
+ <action name="SnapToEdge" direction="left" />
+ </keybind>
+ <keybind key="W-Right">
+ <action name="SnapToEdge" direction="right" />
+ </keybind>
+ <keybind key="W-Up">
+ <action name="SnapToEdge" direction="up" />
+ </keybind>
+ <keybind key="W-Down">
+ <action name="SnapToEdge" direction="down" />
+ </keybind>
+ <keybind key="A-Space">
+ <action name="ShowMenu" menu="client-menu" atCursor="no" />
+ </keybind>
+ <keybind key="XF86_AudioLowerVolume">
+ <action name="Execute" command="amixer sset Master 5%-" />
+ </keybind>
+ <keybind key="XF86_AudioRaiseVolume">
+ <action name="Execute" command="amixer sset Master 5%+" />
+ </keybind>
+ <keybind key="XF86_AudioMute">
+ <action name="Execute" command="amixer sset Master toggle" />
+ </keybind>
+ <keybind key="XF86_MonBrightnessUp">
+ <action name="Execute" command="brightnessctl set +10%" />
+ </keybind>
+ <keybind key="XF86_MonBrightnessDown">
+ <action name="Execute" command="brightnessctl set 10%-" />
+ </keybind>
+ </keyboard>
+
+ <!--
+ Multiple <mousebind> can exist within one <context>
+ Multiple <actions> can exist within one <mousebind>
+
+ Use <mouse><default /> to load all the default mousebinds (those listed
+ below). If the default mousebinds are largely what you want, a sensible
+ approach could be to start the <mouse> section with a <default />
+ element, and then (re-)define any special binds you need such as launching
+ a custom menu when right-clicking on your desktop. See rc.xml for an
+ example.
+ -->
+ <mouse>
+
+ <!-- time is in ms -->
+ <doubleClickTime>500</doubleClickTime>
+
+ <context name="Frame">
+ <mousebind button="A-Left" action="Press">
+ <action name="Focus" />
+ <action name="Raise" />
+ </mousebind>
+ <mousebind button="A-Left" action="Drag">
+ <action name="Move" />
+ </mousebind>
+ <mousebind button="A-Right" action="Press">
+ <action name="Focus" />
+ <action name="Raise" />
+ </mousebind>
+ <mousebind button="A-Right" 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" />
+ </mousebind>
+ </context>
+
+ <context name="Title">
+ <mousebind button="Left" action="Drag">
+ <action name="Move" />
+ </mousebind>
+ <mousebind button="Left" action="DoubleClick">
+ <action name="ToggleMaximize" />
+ </mousebind>
+ <mousebind button="Right" action="Click">
+ <action name="ShowMenu" menu="client-menu" />
+ </mousebind>
+ </context>
+
+ <context name="Maximize">
+ <mousebind button="Left" action="Click">
+ <action name="ToggleMaximize" />
+ </mousebind>
+ <mousebind button="Right" action="Click">
+ <action name="ToggleMaximize" direction="horizontal" />
+ </mousebind>
+ <mousebind button="Middle" action="Click">
+ <action name="ToggleMaximize" direction="vertical" />
+ </mousebind>
+ </context>
+
+ <context name="WindowMenu">
+ <mousebind button="Left" action="Click">
+ <action name="ShowMenu" menu="client-menu" atCursor="no" />
+ </mousebind>
+ <mousebind button="Right" action="Click">
+ <action name="ShowMenu" menu="client-menu" atCursor="no" />
+ </mousebind>
+ </context>
+
+ <context name="Icon">
+ <mousebind button="Left" action="Click">
+ <action name="ShowMenu" menu="client-menu" atCursor="no" />
+ </mousebind>
+ <mousebind button="Right" action="Click">
+ <action name="ShowMenu" menu="client-menu" atCursor="no" />
+ </mousebind>
+ </context>
+
+ <context name="Shade">
+ <mousebind button="Left" action="Click">
+ <action name="ToggleShade" />
+ </mousebind>
+ </context>
+
+ <context name="AllDesktops">
+ <mousebind button="Left" action="Click">
+ <action name="ToggleOmnipresent" />
+ </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" />
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="ShowMenu" menu="root-menu" />
+ </mousebind>
+ <mousebind button="Middle" action="Press">
+ <action name="ShowMenu" menu="root-menu" />
+ <!-- openbox default, swap with above line to activate -->
+ <!-- <action name="ShowMenu" menu="client-list-combined-menu" /> -->
+ </mousebind>
+ <mousebind direction="Up" action="Scroll">
+ <action name="GoToDesktop" to="left" wrap="yes" />
+ </mousebind>
+ <mousebind direction="Down" action="Scroll">
+ <action name="GoToDesktop" to="right" wrap="yes" />
+ </mousebind>
+ </context>
+
+ </mouse>
+
+ <!--
+ The *category* attribute is optional and can be set to touch, touchpad,
+ 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* by 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]
+ - clickMethod [none|buttonAreas|clickfinger]
+ - sendEventsMode [yes|no|disabledOnExternalMouse]
+ - calibrationMatrix [six float values split by space]
+ - scrollFactor [float]
+ -->
+ <libinput>
+ <device category="default">
+ <naturalScroll>no</naturalScroll>
+ <leftHanded>no</leftHanded>
+ <pointerSpeed></pointerSpeed>
+ <accelProfile>adaptive</accelProfile>
+ </device>
+ <device category="touchpad">
+ <naturalScroll>yes</naturalScroll>
+ <middleEmulation>yes</middleEmulation>
+ <tap>yes</tap>
+ <tapAndDrag>yes</tapAndDrag>
+ <disableWhileTyping>yes</disableWhileTyping>
+ <clickMethod>clickfinger</clickMethod>
+ </device>
+ </libinput>
+
+ <menu>
+ <ignoreButtonReleasePeriod>250</ignoreButtonReleasePeriod>
+ <showIcons>yes</showIcons>
+ </menu>
+
+</labwc_config>