diff options
| author | Raghuram Subramani <raghus2247@gmail.com> | 2025-06-08 11:47:36 +0530 |
|---|---|---|
| committer | Raghuram Subramani <raghus2247@gmail.com> | 2025-06-08 11:47:36 +0530 |
| commit | f0fb3c4d1559bc13aeb764e25aa0746f465560b0 (patch) | |
| tree | 63fc3145c091496193b0c0f2af81d655e1956d0a /config/labwc/rc.xml | |
| parent | ea128011e4c6a6e337ce36ab290da2ae028dcbd2 (diff) | |
add labwc
Diffstat (limited to '')
| -rw-r--r-- | config/labwc/rc.xml | 454 |
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> |
