summaryrefslogtreecommitdiff
path: root/config/labwc
diff options
context:
space:
mode:
Diffstat (limited to 'config/labwc')
-rw-r--r--config/labwc/autostart5
-rw-r--r--config/labwc/default.nix9
-rw-r--r--config/labwc/gruvbox-material-dark-blocks/openbox-3/close.xbm5
-rw-r--r--config/labwc/gruvbox-material-dark-blocks/openbox-3/close_hover.xbm5
-rw-r--r--config/labwc/gruvbox-material-dark-blocks/openbox-3/close_pressed.xbm5
-rw-r--r--config/labwc/gruvbox-material-dark-blocks/openbox-3/desk.xbm5
-rw-r--r--config/labwc/gruvbox-material-dark-blocks/openbox-3/desk_toggled.xbm5
-rw-r--r--config/labwc/gruvbox-material-dark-blocks/openbox-3/iconify.xbm5
-rw-r--r--config/labwc/gruvbox-material-dark-blocks/openbox-3/iconify_hover.xbm5
-rw-r--r--config/labwc/gruvbox-material-dark-blocks/openbox-3/iconify_pressed.xbm5
-rw-r--r--config/labwc/gruvbox-material-dark-blocks/openbox-3/max.xbm5
-rw-r--r--config/labwc/gruvbox-material-dark-blocks/openbox-3/max_hover.xbm5
-rw-r--r--config/labwc/gruvbox-material-dark-blocks/openbox-3/max_pressed.xbm5
-rw-r--r--config/labwc/gruvbox-material-dark-blocks/openbox-3/max_toggled.xbm5
-rw-r--r--config/labwc/gruvbox-material-dark-blocks/openbox-3/max_toggled_hover.xbm5
-rw-r--r--config/labwc/gruvbox-material-dark-blocks/openbox-3/max_toggled_pressed.xbm5
-rw-r--r--config/labwc/gruvbox-material-dark-blocks/openbox-3/shade.xbm5
-rw-r--r--config/labwc/gruvbox-material-dark-blocks/openbox-3/shade_toggled.xbm5
-rw-r--r--config/labwc/gruvbox-material-dark-blocks/openbox-3/themerc172
-rw-r--r--config/labwc/rc.xml454
20 files changed, 720 insertions, 0 deletions
diff --git a/config/labwc/autostart b/config/labwc/autostart
new file mode 100644
index 0000000..3928e0a
--- /dev/null
+++ b/config/labwc/autostart
@@ -0,0 +1,5 @@
+wbg /config/dist/wallpaper.png &
+waybar &
+way-displays &
+swayidle before-sleep swaylock lock swaylock &
+dunst &
diff --git a/config/labwc/default.nix b/config/labwc/default.nix
new file mode 100644
index 0000000..bc83feb
--- /dev/null
+++ b/config/labwc/default.nix
@@ -0,0 +1,9 @@
+{ pkgs, config, ... }:
+
+{
+ home.packages = with pkgs; [ labwc ];
+
+ home.file.".config/labwc/rc.xml".source = ./rc.xml;
+ home.file.".config/labwc/autostart".source = ./autostart;
+ home.file.".themes/gruvbox-material-dark-blocks".source = ./gruvbox-material-dark-blocks;
+}
diff --git a/config/labwc/gruvbox-material-dark-blocks/openbox-3/close.xbm b/config/labwc/gruvbox-material-dark-blocks/openbox-3/close.xbm
new file mode 100644
index 0000000..0f58737
--- /dev/null
+++ b/config/labwc/gruvbox-material-dark-blocks/openbox-3/close.xbm
@@ -0,0 +1,5 @@
+#define close_width 10
+#define close_height 10
+static unsigned char close_bits[] = {
+ 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03,
+ 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03 };
diff --git a/config/labwc/gruvbox-material-dark-blocks/openbox-3/close_hover.xbm b/config/labwc/gruvbox-material-dark-blocks/openbox-3/close_hover.xbm
new file mode 100644
index 0000000..87ab9a4
--- /dev/null
+++ b/config/labwc/gruvbox-material-dark-blocks/openbox-3/close_hover.xbm
@@ -0,0 +1,5 @@
+#define close_width 10
+#define close_height 10
+static unsigned char close_bits[] = {
+ 0x03, 0x03, 0x87, 0x03, 0xce, 0x01, 0xfc, 0x00, 0x78, 0x00,
+ 0x78, 0x00, 0xfc, 0x00, 0xce, 0x01, 0x87, 0x03, 0x03, 0x03 };
diff --git a/config/labwc/gruvbox-material-dark-blocks/openbox-3/close_pressed.xbm b/config/labwc/gruvbox-material-dark-blocks/openbox-3/close_pressed.xbm
new file mode 100644
index 0000000..87ab9a4
--- /dev/null
+++ b/config/labwc/gruvbox-material-dark-blocks/openbox-3/close_pressed.xbm
@@ -0,0 +1,5 @@
+#define close_width 10
+#define close_height 10
+static unsigned char close_bits[] = {
+ 0x03, 0x03, 0x87, 0x03, 0xce, 0x01, 0xfc, 0x00, 0x78, 0x00,
+ 0x78, 0x00, 0xfc, 0x00, 0xce, 0x01, 0x87, 0x03, 0x03, 0x03 };
diff --git a/config/labwc/gruvbox-material-dark-blocks/openbox-3/desk.xbm b/config/labwc/gruvbox-material-dark-blocks/openbox-3/desk.xbm
new file mode 100644
index 0000000..a28c0c5
--- /dev/null
+++ b/config/labwc/gruvbox-material-dark-blocks/openbox-3/desk.xbm
@@ -0,0 +1,5 @@
+#define desk_width 10
+#define desk_height 10
+static unsigned char desk_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x66, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x66, 0x00, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00 };
diff --git a/config/labwc/gruvbox-material-dark-blocks/openbox-3/desk_toggled.xbm b/config/labwc/gruvbox-material-dark-blocks/openbox-3/desk_toggled.xbm
new file mode 100644
index 0000000..132905d
--- /dev/null
+++ b/config/labwc/gruvbox-material-dark-blocks/openbox-3/desk_toggled.xbm
@@ -0,0 +1,5 @@
+#define desk_toggled_width 10
+#define desk_toggled_height 10
+static unsigned char desk_toggled_bits[] = {
+ 0xef, 0x01, 0x29, 0x01, 0x29, 0x01, 0xef, 0x01, 0x00, 0x00,
+ 0xef, 0x01, 0x29, 0x01, 0x29, 0x01, 0xef, 0x01, 0x00, 0x00 };
diff --git a/config/labwc/gruvbox-material-dark-blocks/openbox-3/iconify.xbm b/config/labwc/gruvbox-material-dark-blocks/openbox-3/iconify.xbm
new file mode 100644
index 0000000..0f58737
--- /dev/null
+++ b/config/labwc/gruvbox-material-dark-blocks/openbox-3/iconify.xbm
@@ -0,0 +1,5 @@
+#define close_width 10
+#define close_height 10
+static unsigned char close_bits[] = {
+ 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03,
+ 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03 };
diff --git a/config/labwc/gruvbox-material-dark-blocks/openbox-3/iconify_hover.xbm b/config/labwc/gruvbox-material-dark-blocks/openbox-3/iconify_hover.xbm
new file mode 100644
index 0000000..0416a1e
--- /dev/null
+++ b/config/labwc/gruvbox-material-dark-blocks/openbox-3/iconify_hover.xbm
@@ -0,0 +1,5 @@
+#define iconify_width 10
+#define iconify_height 10
+static unsigned char iconify_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0xff, 0x03 };
diff --git a/config/labwc/gruvbox-material-dark-blocks/openbox-3/iconify_pressed.xbm b/config/labwc/gruvbox-material-dark-blocks/openbox-3/iconify_pressed.xbm
new file mode 100644
index 0000000..0416a1e
--- /dev/null
+++ b/config/labwc/gruvbox-material-dark-blocks/openbox-3/iconify_pressed.xbm
@@ -0,0 +1,5 @@
+#define iconify_width 10
+#define iconify_height 10
+static unsigned char iconify_bits[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x03, 0xff, 0x03 };
diff --git a/config/labwc/gruvbox-material-dark-blocks/openbox-3/max.xbm b/config/labwc/gruvbox-material-dark-blocks/openbox-3/max.xbm
new file mode 100644
index 0000000..0f58737
--- /dev/null
+++ b/config/labwc/gruvbox-material-dark-blocks/openbox-3/max.xbm
@@ -0,0 +1,5 @@
+#define close_width 10
+#define close_height 10
+static unsigned char close_bits[] = {
+ 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03,
+ 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03 };
diff --git a/config/labwc/gruvbox-material-dark-blocks/openbox-3/max_hover.xbm b/config/labwc/gruvbox-material-dark-blocks/openbox-3/max_hover.xbm
new file mode 100644
index 0000000..2f8892f
--- /dev/null
+++ b/config/labwc/gruvbox-material-dark-blocks/openbox-3/max_hover.xbm
@@ -0,0 +1,5 @@
+#define max_width 10
+#define max_height 10
+static unsigned char max_bits[] = {
+ 0xff, 0x03, 0xff, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xff, 0x03, 0xff, 0x03 };
diff --git a/config/labwc/gruvbox-material-dark-blocks/openbox-3/max_pressed.xbm b/config/labwc/gruvbox-material-dark-blocks/openbox-3/max_pressed.xbm
new file mode 100644
index 0000000..2f8892f
--- /dev/null
+++ b/config/labwc/gruvbox-material-dark-blocks/openbox-3/max_pressed.xbm
@@ -0,0 +1,5 @@
+#define max_width 10
+#define max_height 10
+static unsigned char max_bits[] = {
+ 0xff, 0x03, 0xff, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xff, 0x03, 0xff, 0x03 };
diff --git a/config/labwc/gruvbox-material-dark-blocks/openbox-3/max_toggled.xbm b/config/labwc/gruvbox-material-dark-blocks/openbox-3/max_toggled.xbm
new file mode 100644
index 0000000..0f58737
--- /dev/null
+++ b/config/labwc/gruvbox-material-dark-blocks/openbox-3/max_toggled.xbm
@@ -0,0 +1,5 @@
+#define close_width 10
+#define close_height 10
+static unsigned char close_bits[] = {
+ 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03,
+ 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03, 0xff, 0x03 };
diff --git a/config/labwc/gruvbox-material-dark-blocks/openbox-3/max_toggled_hover.xbm b/config/labwc/gruvbox-material-dark-blocks/openbox-3/max_toggled_hover.xbm
new file mode 100644
index 0000000..5568474
--- /dev/null
+++ b/config/labwc/gruvbox-material-dark-blocks/openbox-3/max_toggled_hover.xbm
@@ -0,0 +1,5 @@
+#define max_toggled_width 10
+#define max_toggled_height 10
+static unsigned char max_toggled_bits[] = {
+ 0xfc, 0x03, 0xfc, 0x03, 0x00, 0x03, 0x7f, 0x03, 0x7f, 0x03,
+ 0x63, 0x03, 0x63, 0x03, 0x63, 0x03, 0x7f, 0x00, 0x7f, 0x00 };
diff --git a/config/labwc/gruvbox-material-dark-blocks/openbox-3/max_toggled_pressed.xbm b/config/labwc/gruvbox-material-dark-blocks/openbox-3/max_toggled_pressed.xbm
new file mode 100644
index 0000000..5568474
--- /dev/null
+++ b/config/labwc/gruvbox-material-dark-blocks/openbox-3/max_toggled_pressed.xbm
@@ -0,0 +1,5 @@
+#define max_toggled_width 10
+#define max_toggled_height 10
+static unsigned char max_toggled_bits[] = {
+ 0xfc, 0x03, 0xfc, 0x03, 0x00, 0x03, 0x7f, 0x03, 0x7f, 0x03,
+ 0x63, 0x03, 0x63, 0x03, 0x63, 0x03, 0x7f, 0x00, 0x7f, 0x00 };
diff --git a/config/labwc/gruvbox-material-dark-blocks/openbox-3/shade.xbm b/config/labwc/gruvbox-material-dark-blocks/openbox-3/shade.xbm
new file mode 100644
index 0000000..e21c44a
--- /dev/null
+++ b/config/labwc/gruvbox-material-dark-blocks/openbox-3/shade.xbm
@@ -0,0 +1,5 @@
+#define shade_width 10
+#define shade_height 10
+static unsigned char shade_bits[] = {
+ 0x30, 0x00, 0x78, 0x00, 0xfc, 0x00, 0xfe, 0x01, 0xb7, 0x03,
+ 0x33, 0x03, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00 };
diff --git a/config/labwc/gruvbox-material-dark-blocks/openbox-3/shade_toggled.xbm b/config/labwc/gruvbox-material-dark-blocks/openbox-3/shade_toggled.xbm
new file mode 100644
index 0000000..16c8066
--- /dev/null
+++ b/config/labwc/gruvbox-material-dark-blocks/openbox-3/shade_toggled.xbm
@@ -0,0 +1,5 @@
+#define shade_toggled_width 10
+#define shade_toggled_height 10
+static unsigned char shade_toggled_bits[] = {
+ 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x33, 0x03,
+ 0xb7, 0x03, 0xfe, 0x01, 0xfc, 0x00, 0x78, 0x00, 0x30, 0x00 };
diff --git a/config/labwc/gruvbox-material-dark-blocks/openbox-3/themerc b/config/labwc/gruvbox-material-dark-blocks/openbox-3/themerc
new file mode 100644
index 0000000..55b1933
--- /dev/null
+++ b/config/labwc/gruvbox-material-dark-blocks/openbox-3/themerc
@@ -0,0 +1,172 @@
+# Name: Gruvbox Material Openbox Theme
+# Author: Nathaniel Evan
+# Template provided by Satyajit Sahoo <satyajit.happy@gmail.com>
+# License: GPL-3.0+
+
+# @TODO: finish replacing the colors here
+
+
+# Menu
+menu.border.color: #282828
+menu.border.width: 8
+menu.overlap.x: -10
+
+menu.title.bg: Solid Flat
+menu.title.bg.color: #32302f
+menu.title.bg.shadow: 0
+menu.title.text.color: #9b9b9b
+menu.title.text.justify: Center
+
+menu.items.bg: Solid Flat
+menu.items.bg.color: #282828
+menu.items.text.color: #9b9b9b
+menu.items.disabled.text.color: #928374
+
+menu.items.active.bg: Solid Flat
+menu.items.active.bg.color: #d8a657
+menu.items.active.text.color: #282828
+
+menu.separator.color: #45403d
+menu.separator.width: 1
+menu.separator.padding.width: 2
+menu.separator.padding.height: 6
+
+# Active window
+window.active.border.color: #212121
+
+
+window.active.title.bg: flat solid
+window.active.title.bg.color: #212121
+window.active.title.separator.color: #212121
+window.active.client.color: #32302f
+window.active.text.justify: center
+
+window.active.label.bg: parentrelative
+window.active.label.text.color: #9b9b9b
+
+window.active.handle.bg: flat solid
+window.active.handle.bg.color: #d8a657
+
+window.active.grip.bg: flat solid
+window.active.grip.bg.color: #212121
+
+window.active.button.unpressed.bg: parentrelative
+window.active.button.iconify.unpressed.image.color: #d8a657
+window.active.button.max.unpressed.image.color: #a9b665
+window.active.button.close.unpressed.image.color: #ea6962
+
+window.active.button.pressed.bg: parentrelative
+window.active.button.iconify.pressed.image.color: #b47109
+window.active.button.max.pressed.image.color: #6c782e
+window.active.button.close.pressed.image.color: #c14a4a
+
+window.active.button.disabled.bg: parentrelative
+window.active.button.iconify.disabled.image.color: #32302f
+window.active.button.max.disabled.image.color: #32302f
+window.active.button.close.disabled.image.color: #32302f
+
+window.active.button.hover.bg: parentrelative
+window.active.button.iconify.hover.image.color: #d8a657
+window.active.button.max.hover.image.color: #a9b665
+window.active.button.close.hover.image.color: #ea6962
+
+window.active.button.toggled.bg: parentrelative
+window.active.button.max.toggled.unpressed.image.color: #a9b665
+window.active.button.max.toggled.pressed.image.color: #6c782e
+window.active.button.max.toggled.hover.image.color: #a9b665
+
+# Inactive window
+window.inactive.border.color: #3c3836
+
+window.inactive.title.bg: flat solid
+window.inactive.title.bg.color: #3c3836
+window.inactive.title.separator.color: #3c3836
+window.inactive.client.color: #5a524c
+window.inactive.text.justify: center
+
+window.inactive.label.bg: parentrelative
+window.inactive.label.text.color: #928374
+
+window.inactive.handle.bg: flat solid
+window.inactive.handle.bg.color: #928374
+
+window.inactive.grip.bg: flat solid
+window.inactive.grip.bg.color: #3c3836
+
+window.inactive.button.unpressed.bg: parentrelative
+window.inactive.button.iconify.unpressed.image.color: #928374
+window.inactive.button.max.unpressed.image.color: #928374
+window.inactive.button.close.unpressed.image.color: #928374
+
+window.inactive.button.pressed.bg: parentrelative
+window.inactive.button.iconify.pressed.image.color: #b47109
+window.inactive.button.max.pressed.image.color: #6c782e
+window.inactive.button.close.pressed.image.color: #c14a4a
+
+window.inactive.button.disabled.bg: parentrelative
+window.inactive.button.iconify.disabled.image.color: #5a524c
+window.inactive.button.max.disabled.image.color: #5a524c
+window.inactive.button.close.disabled.image.color: #5a524c
+
+window.inactive.button.hover.bg: parentrelative
+window.inactive.button.iconify.hover.image.color: #d8a657
+window.inactive.button.max.hover.image.color: #a9b665
+window.inactive.button.close.hover.image.color: #ea6962
+
+window.inactive.button.toggled.bg: parentrelative
+window.inactive.button.max.toggled.unpressed.image.color: #928374
+window.inactive.button.max.toggled.pressed.image.color: #6c782e
+window.inactive.button.max.toggled.hover.image.color: #a9b665
+
+# OSD
+osd.border.width: 1
+osd.border.color: #d8a657
+
+osd.bg: flat solid
+osd.bg.color: #232425
+osd.bg.shadow: 0
+osd.label.bg: flat solid
+osd.label.bg.color: #232425
+osd.label.text.color: #9b9b9b
+
+osd.hilight.bg: Solid Flat
+osd.hilight.bg.color: #d8a657
+osd.unhilight.bg: flat solid
+osd.unhilight.bg.color: #232425
+
+osd.button.unpressed.bg: flat border
+osd.button.unpressed.bg.color: #32302f
+osd.button.unpressed.text.color: #9b9b9b
+osd.button.unpressed.*.border.color: #928374
+
+osd.button.pressed.bg: flat border
+osd.button.pressed.bg.color: #d8a657
+osd.button.pressed.text.color: #282828
+osd.button.pressed.*.border.color: #928374
+
+osd.button.focused.bg: flat solid border
+osd.button.focused.bg.color: #32302f
+osd.button.focused.text.color: #9b9b9b
+osd.button.focused.*.border.color: #928374
+
+osd.button.focused.box.color: #9b9b9b
+osd.button.pressed.box.color: #282828
+
+# Fonts
+window.active.label.text.font:shadow=n
+window.inactive.label.text.font:shadow=n
+menu.items.font:shadow=n
+# Uncomment line below and change <padding> to a number to enable menu item padding
+# menu.items.font:shadow=y:shadowtint=0:shadowoffset=<padding>
+menu.title.text.font:shadow=n
+
+
+# Everything else
+border.width: 2
+padding.width: 5
+padding.height: 4
+window.handle.width: 0
+window.client.padding.height: 0
+window.client.padding.width: 0
+window.label.text.justify: center
+#menu.overlap: 0
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>