diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..ce02cd5
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "parch-config-i3/src/etc/skel/.config/kitty/kitty-themes"]
+ path = parch-config-i3/src/etc/skel/.config/kitty/kitty-themes
+ url = https://github.com/dexpota/kitty-themes
diff --git a/parch-config-cinnamon/.gitignore b/parch-config-cinnamon/.gitignore
new file mode 100644
index 0000000..30495e9
--- /dev/null
+++ b/parch-config-cinnamon/.gitignore
@@ -0,0 +1 @@
+!src/
diff --git a/parch-config-cinnamon/src/etc/skel/.config/X-Cinnamon-xdg-terminals.list b/parch-config-cinnamon/src/etc/skel/.config/X-Cinnamon-xdg-terminals.list
new file mode 100644
index 0000000..b6e3341
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/X-Cinnamon-xdg-terminals.list
@@ -0,0 +1 @@
+org.gnome.Terminal.desktop
diff --git a/parch-config-cinnamon/src/etc/skel/.config/cinnamon-monitors.xml b/parch-config-cinnamon/src/etc/skel/.config/cinnamon-monitors.xml
new file mode 100644
index 0000000..d3efb25
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/cinnamon-monitors.xml
@@ -0,0 +1,23 @@
+
+
+
+ 0
+ 0
+ 1
+ yes
+
+
+ Virtual1
+ unknown
+ unknown
+ unknown
+
+
+ 1024
+ 768
+ 60.003841400146484
+
+
+
+
+
diff --git a/parch-config-cinnamon/src/etc/skel/.config/cinnamon-monitors.xml~ b/parch-config-cinnamon/src/etc/skel/.config/cinnamon-monitors.xml~
new file mode 100644
index 0000000..3a76bb6
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/cinnamon-monitors.xml~
@@ -0,0 +1,23 @@
+
+
+
+ 0
+ 0
+ 1
+ yes
+
+
+ Virtual1
+ unknown
+ unknown
+ unknown
+
+
+ 1440
+ 900
+ 59.887443542480469
+
+
+
+
+
diff --git a/parch-config-cinnamon/src/etc/skel/.config/cinnamon/backgrounds/user-folders.lst b/parch-config-cinnamon/src/etc/skel/.config/cinnamon/backgrounds/user-folders.lst
new file mode 100644
index 0000000..fa6c519
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/cinnamon/backgrounds/user-folders.lst
@@ -0,0 +1,2 @@
+/home/sohrab/Pictures
+/usr/share/wallpapers/parch-os-wallpapers
diff --git a/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/calendar@cinnamon.org/13.json b/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/calendar@cinnamon.org/13.json
new file mode 100644
index 0000000..41e5062
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/calendar@cinnamon.org/13.json
@@ -0,0 +1,54 @@
+{
+ "section1": {
+ "type": "section",
+ "description": "Display"
+ },
+ "show-events": {
+ "type": "switch",
+ "default": true,
+ "description": "Show calendar events",
+ "tooltip": "Check this to display events in the calendar.",
+ "value": true
+ },
+ "show-week-numbers": {
+ "type": "switch",
+ "default": false,
+ "description": "Show week numbers in calendar",
+ "tooltip": "Check this to show week numbers in the calendar.",
+ "value": false
+ },
+ "use-custom-format": {
+ "type": "switch",
+ "default": false,
+ "description": "Use a custom date format",
+ "tooltip": "Check this to define a custom format for the date in the calendar applet.",
+ "value": false
+ },
+ "custom-format": {
+ "type": "entry",
+ "default": "%A, %B %e, %H:%M",
+ "description": "Date format",
+ "dependency": "use-custom-format",
+ "tooltip": "Set your custom format here.",
+ "value": "%A, %B %e, %H:%M"
+ },
+ "format-button": {
+ "type": "button",
+ "description": "Show information on date format syntax",
+ "dependency": "use-custom-format",
+ "callback": "on_custom_format_button_pressed",
+ "tooltip": "Click this button to know more about the syntax for date formats."
+ },
+ "section2": {
+ "type": "section",
+ "description": "Keyboard shortcuts"
+ },
+ "keyOpen": {
+ "type": "keybinding",
+ "description": "Show calendar",
+ "default": "c",
+ "tooltip": "Set keybinding(s) to show the calendar.",
+ "value": "c"
+ },
+ "__md5__": "5ea063337a9b776b6c19825f31b2a320"
+}
\ No newline at end of file
diff --git a/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/cornerbar@cinnamon.org/14.json b/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/cornerbar@cinnamon.org/14.json
new file mode 100644
index 0000000..98d3ca6
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/cornerbar@cinnamon.org/14.json
@@ -0,0 +1,71 @@
+{
+ "head": {
+ "type": "header",
+ "description": "Settings"
+ },
+ "click-action": {
+ "type": "combobox",
+ "description": "Click action",
+ "default": "show_desktop",
+ "options": {
+ "Show the desktop": "show_desktop",
+ "Show the desklets": "show_desklets",
+ "Show the workspace selector (Expo)": "show_expo",
+ "Show the window selector (Scale)": "show_scale"
+ },
+ "value": "show_desktop"
+ },
+ "middle-click-action": {
+ "type": "combobox",
+ "description": "Middle click action",
+ "default": "show_desklets",
+ "options": {
+ "Show the desktop": "show_desktop",
+ "Show the desklets": "show_desklets",
+ "Show the workspace selector (Expo)": "show_expo",
+ "Show the window selector (Scale)": "show_scale"
+ },
+ "value": "show_desklets"
+ },
+ "peek-at-desktop": {
+ "type": "switch",
+ "default": false,
+ "description": "Peek at the desktop on hover",
+ "tooltip": "Peek at the desktop when hovering the applet",
+ "value": false
+ },
+ "peek-blur": {
+ "type": "switch",
+ "default": false,
+ "dependency": "peek-at-desktop",
+ "description": "Blur effect",
+ "tooltip": "Blur windows when peeking at the desktop",
+ "value": false
+ },
+ "peek-delay": {
+ "type": "spinbutton",
+ "default": 400,
+ "min": 0,
+ "max": 1000,
+ "step": 50,
+ "units": "milliseconds",
+ "dependency": "peek-at-desktop",
+ "description": "Hover delay",
+ "tooltip": "Delay before Peek shows desktop",
+ "value": 400
+ },
+ "peek-opacity": {
+ "type": "scale",
+ "default": 5,
+ "units": "%",
+ "digits": 0,
+ "min": 0,
+ "max": 100,
+ "step": 5,
+ "dependency": "peek-at-desktop",
+ "description": "Window opacity",
+ "tooltip": "Change the opacity of windows when peeking at the desktop",
+ "value": 5
+ },
+ "__md5__": "c9d80feef5e24b1ccab9b6a03c1a5717"
+}
\ No newline at end of file
diff --git a/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/favorites@cinnamon.org/9.json b/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/favorites@cinnamon.org/9.json
new file mode 100644
index 0000000..ed51ca4
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/favorites@cinnamon.org/9.json
@@ -0,0 +1,13 @@
+{
+ "head": {
+ "type": "header",
+ "description": "Settings"
+ },
+ "show-full-uri": {
+ "type": "switch",
+ "default": false,
+ "description": "Display full paths in the list",
+ "value": false
+ },
+ "__md5__": "47cfb84ecf716b6b4756ccdac7f369e4"
+}
\ No newline at end of file
diff --git a/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/grouped-window-list@cinnamon.org/2.json b/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/grouped-window-list@cinnamon.org/2.json
new file mode 100644
index 0000000..963d70b
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/grouped-window-list@cinnamon.org/2.json
@@ -0,0 +1,356 @@
+{
+ "layout": {
+ "type": "layout",
+ "pages": [
+ "generalPage",
+ "panelPage",
+ "thumbnailsPage",
+ "contextMenuPage"
+ ],
+ "generalPage": {
+ "type": "page",
+ "title": "General",
+ "sections": [
+ "generalSection",
+ "hotKeysSection"
+ ]
+ },
+ "panelPage": {
+ "type": "page",
+ "title": "Panel",
+ "sections": [
+ "appButtonsSection"
+ ]
+ },
+ "thumbnailsPage": {
+ "type": "page",
+ "title": "Thumbnails",
+ "sections": [
+ "thumbnailsSection",
+ "hoverPeekSection"
+ ]
+ },
+ "contextMenuPage": {
+ "type": "page",
+ "title": "Context Menu",
+ "sections": [
+ "contextMenuSection"
+ ]
+ },
+ "generalSection": {
+ "type": "section",
+ "title": "Behavior",
+ "keys": [
+ "group-apps",
+ "scroll-behavior",
+ "left-click-action",
+ "middle-click-action",
+ "show-all-workspaces"
+ ]
+ },
+ "appButtonsSection": {
+ "type": "section",
+ "title": "Application Buttons",
+ "keys": [
+ "title-display",
+ "launcher-animation-effect",
+ "number-display",
+ "pinned-apps",
+ "enable-app-button-dragging"
+ ]
+ },
+ "hotKeysSection": {
+ "type": "section",
+ "title": "Hot Keys",
+ "keys": [
+ "cycleMenusHotkey",
+ "show-apps-order-hotkey",
+ "show-apps-order-timeout",
+ "super-num-hotkeys"
+ ]
+ },
+ "thumbnailsSection": {
+ "type": "section",
+ "title": "Thumbnails",
+ "keys": [
+ "thumbnail-scroll-behavior",
+ "show-thumbnails",
+ "animate-thumbnails",
+ "vertical-thumbnails",
+ "sort-thumbnails",
+ "highlight-last-focused-thumbnail",
+ "onclick-thumbnails",
+ "thumbnail-timeout",
+ "thumbnail-size"
+ ]
+ },
+ "hoverPeekSection": {
+ "type": "section",
+ "title": "Hover Peek",
+ "keys": [
+ "enable-hover-peek",
+ "hover-peek-time-in",
+ "hover-peek-time-out",
+ "hover-peek-opacity"
+ ]
+ },
+ "contextMenuSection": {
+ "type": "section",
+ "title": "",
+ "keys": [
+ "show-recent",
+ "autostart-menu-item",
+ "monitor-move-all-windows"
+ ]
+ }
+ },
+ "number-display": {
+ "type": "checkbox",
+ "default": true,
+ "description": "Show window count numbers",
+ "value": true
+ },
+ "title-display": {
+ "type": "combobox",
+ "default": 1,
+ "description": "Button label",
+ "options": {
+ "None": 1,
+ "Application name": 2,
+ "Window title": 3,
+ "Window title (only for the focused window)": 4
+ },
+ "value": 1
+ },
+ "scroll-behavior": {
+ "type": "combobox",
+ "default": 1,
+ "description": "Mouse wheel scroll action",
+ "options": {
+ "None": 1,
+ "Cycle apps": 2,
+ "Cycle windows": 3
+ },
+ "value": 1
+ },
+ "left-click-action": {
+ "type": "combobox",
+ "default": 2,
+ "description": "Left click action",
+ "options": {
+ "None": 1,
+ "Toggle activation of last focused window": 2,
+ "Cycle windows": 3
+ },
+ "value": 2
+ },
+ "middle-click-action": {
+ "type": "combobox",
+ "default": 3,
+ "description": "Middle click action",
+ "options": {
+ "None": 1,
+ "Launch new app instance": 2,
+ "Close last focused window in group": 3
+ },
+ "value": 3
+ },
+ "pinned-apps": {
+ "type": "generic",
+ "default": [
+ "nemo.desktop",
+ "firefox.desktop",
+ "org.gnome.Terminal.desktop"
+ ],
+ "value": [
+ "nemo.desktop",
+ "org.gnome.Terminal.desktop",
+ "cinnamon-settings.desktop"
+ ]
+ },
+ "group-apps": {
+ "type": "checkbox",
+ "default": true,
+ "description": "Group windows by application",
+ "value": true
+ },
+ "show-all-workspaces": {
+ "type": "checkbox",
+ "default": false,
+ "description": "Show windows from all workspaces",
+ "value": false
+ },
+ "enable-app-button-dragging": {
+ "type": "checkbox",
+ "default": true,
+ "description": "Enable app button dragging",
+ "value": true
+ },
+ "launcher-animation-effect": {
+ "type": "combobox",
+ "default": 3,
+ "description": "Launcher animation",
+ "options": {
+ "None": 1,
+ "Fade": 2,
+ "Scale": 3
+ },
+ "value": 3
+ },
+ "cycleMenusHotkey": {
+ "type": "keybinding",
+ "default": "",
+ "description": "Global hotkey for cycling through thumbnail menus",
+ "value": ""
+ },
+ "show-apps-order-hotkey": {
+ "type": "keybinding",
+ "default": "grave",
+ "description": "Global hotkey to show the order of apps",
+ "value": "grave"
+ },
+ "show-apps-order-timeout": {
+ "type": "spinbutton",
+ "default": 2500,
+ "min": 100,
+ "max": 10000,
+ "step": 10,
+ "units": "milliseconds",
+ "description": "Duration of the apps order display on hotkey press",
+ "value": 2500
+ },
+ "super-num-hotkeys": {
+ "type": "checkbox",
+ "default": true,
+ "description": "Enable Super+ shortcut to switch/open apps",
+ "value": true
+ },
+ "thumbnail-timeout": {
+ "dependency": "!onclick-thumbnails",
+ "type": "combobox",
+ "default": 250,
+ "description": "Delay before showing thumbnails",
+ "options": {
+ "50 ms": 50,
+ "250 ms": 250,
+ "500 ms": 500
+ },
+ "value": 250
+ },
+ "thumbnail-size": {
+ "type": "combobox",
+ "default": 6,
+ "description": "Thumbnail size",
+ "options": {
+ "Small": 3,
+ "Medium": 6,
+ "Large": 9,
+ "Largest": 12
+ },
+ "value": 6
+ },
+ "thumbnail-scroll-behavior": {
+ "type": "checkbox",
+ "default": false,
+ "description": "Cycle windows on mouse wheel scroll",
+ "value": false
+ },
+ "show-thumbnails": {
+ "type": "checkbox",
+ "default": true,
+ "description": "Show thumbnails",
+ "value": true
+ },
+ "animate-thumbnails": {
+ "type": "checkbox",
+ "default": false,
+ "description": "Animate thumbnails",
+ "value": false
+ },
+ "vertical-thumbnails": {
+ "type": "checkbox",
+ "default": false,
+ "description": "Enable vertical thumbnails",
+ "value": false
+ },
+ "sort-thumbnails": {
+ "type": "checkbox",
+ "default": false,
+ "description": "Sort thumbnails according to the last focused windows",
+ "value": false
+ },
+ "highlight-last-focused-thumbnail": {
+ "type": "checkbox",
+ "default": true,
+ "description": "Highlight the thumbnail of the last focused window",
+ "value": true
+ },
+ "onclick-thumbnails": {
+ "type": "checkbox",
+ "default": false,
+ "description": "Click to show thumbnails",
+ "value": false
+ },
+ "show-recent": {
+ "type": "checkbox",
+ "default": true,
+ "description": "Show recent items",
+ "value": true
+ },
+ "autostart-menu-item": {
+ "type": "checkbox",
+ "default": false,
+ "description": "Show autostart option",
+ "value": false
+ },
+ "monitor-move-all-windows": {
+ "type": "checkbox",
+ "default": true,
+ "description": "Apply the monitor move option to all windows",
+ "tooltip": "When clicking \"Move to monitor\" in the context menu, this option will move all of an app's windows instead of just the last focused window from the app.",
+ "value": true
+ },
+ "enable-hover-peek": {
+ "type": "checkbox",
+ "default": true,
+ "description": "Show the window when hovering its thumbnail",
+ "value": true
+ },
+ "hover-peek-time-in": {
+ "dependency": "enable-hover-peek",
+ "type": "combobox",
+ "default": 300,
+ "description": "Window fade-in time",
+ "options": {
+ "150 ms": 150,
+ "300 ms": 300,
+ "450 ms": 450
+ },
+ "value": 300
+ },
+ "hover-peek-time-out": {
+ "dependency": "enable-hover-peek",
+ "type": "combobox",
+ "default": 0,
+ "description": "Window fade-out time",
+ "options": {
+ "None": 0,
+ "150 ms": 150,
+ "300 ms": 300,
+ "450 ms": 450
+ },
+ "value": 0
+ },
+ "hover-peek-opacity": {
+ "dependency": "enable-hover-peek",
+ "type": "spinbutton",
+ "default": 100,
+ "min": 0,
+ "max": 100,
+ "step": 1,
+ "units": "percent",
+ "description": "Window opacity",
+ "value": 100
+ },
+ "__md5__": "6f73ea938aeb5481595a809eb6cbe8e3"
+}
\ No newline at end of file
diff --git a/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/menu@cinnamon.org/0.json b/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/menu@cinnamon.org/0.json
new file mode 100644
index 0000000..2998171
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/menu@cinnamon.org/0.json
@@ -0,0 +1,267 @@
+{
+ "layout": {
+ "type": "layout",
+ "pages": [
+ "panel",
+ "menu"
+ ],
+ "panel": {
+ "type": "page",
+ "title": "Panel",
+ "sections": [
+ "panel-appear",
+ "panel-behave"
+ ]
+ },
+ "menu": {
+ "type": "page",
+ "title": "Menu",
+ "sections": [
+ "menu-layout",
+ "menu-behave"
+ ]
+ },
+ "panel-appear": {
+ "type": "section",
+ "title": "Appearance",
+ "keys": [
+ "menu-custom",
+ "menu-icon",
+ "menu-icon-size",
+ "menu-label"
+ ]
+ },
+ "panel-behave": {
+ "type": "section",
+ "title": "Behavior",
+ "keys": [
+ "overlay-key",
+ "activate-on-hover",
+ "hover-delay",
+ "force-show-panel",
+ "enable-animation"
+ ]
+ },
+ "menu-layout": {
+ "type": "section",
+ "title": "Layout and content",
+ "keys": [
+ "restrict-menu-height",
+ "menu-height",
+ "show-category-icons",
+ "category-icon-size",
+ "show-application-icons",
+ "application-icon-size",
+ "favbox-show",
+ "fav-icon-size",
+ "show-places",
+ "show-recents",
+ "menu-editor-button"
+ ]
+ },
+ "menu-behave": {
+ "type": "section",
+ "title": "Behavior",
+ "keys": [
+ "category-hover",
+ "enable-autoscroll",
+ "search-filesystem"
+ ]
+ }
+ },
+ "overlay-key": {
+ "type": "keybinding",
+ "description": "Keyboard shortcut to open and close the menu",
+ "default": "Super_L::Super_R",
+ "value": "Super_L::Super_R"
+ },
+ "menu-custom": {
+ "type": "switch",
+ "default": false,
+ "description": "Use a custom icon and label",
+ "tooltip": "Check this to specify a custom icon and label",
+ "value": true
+ },
+ "menu-icon": {
+ "type": "iconfilechooser",
+ "default": "cinnamon-symbolic",
+ "description": "Icon",
+ "tooltip": "Select an icon to show in the panel.",
+ "default_icon": "cinnamon-symbolic",
+ "dependency": "menu-custom",
+ "value": "/usr/share/pixmaps/parch-logo.png"
+ },
+ "menu-icon-size": {
+ "type": "spinbutton",
+ "default": 32,
+ "min": 16,
+ "max": 96,
+ "step": 1,
+ "units": "px",
+ "description": "Icon size",
+ "dependency": "menu-custom",
+ "value": 32
+ },
+ "menu-label": {
+ "type": "entry",
+ "default": "Menu",
+ "description": "Text",
+ "tooltip": "Enter custom text to show in the panel.",
+ "dependency": "menu-custom",
+ "value": ""
+ },
+ "restrict-menu-height": {
+ "type": "switch",
+ "default": false,
+ "description": "Use a fixed menu height",
+ "tooltip": "Keep the size of the menu the same no matter how many favorites or categories there are.",
+ "value": true
+ },
+ "menu-height": {
+ "type": "spinbutton",
+ "default": 550,
+ "min": 300,
+ "max": 2000,
+ "step": 10,
+ "units": "px",
+ "description": "Menu height",
+ "dependency": "restrict-menu-height",
+ "value": 450.0
+ },
+ "show-category-icons": {
+ "type": "switch",
+ "default": true,
+ "description": "Show category icons",
+ "tooltip": "Choose whether or not to show icons on categories.",
+ "value": true
+ },
+ "category-icon-size": {
+ "type": "spinbutton",
+ "default": 22,
+ "min": 16,
+ "max": 48,
+ "step": 1,
+ "units": "px",
+ "description": "Categories icon size",
+ "dependency": "show-category-icons",
+ "value": 22
+ },
+ "show-application-icons": {
+ "type": "switch",
+ "default": true,
+ "description": "Show application icons",
+ "tooltip": "Choose whether or not to show icons on applications.",
+ "value": true
+ },
+ "application-icon-size": {
+ "type": "spinbutton",
+ "default": 22,
+ "min": 16,
+ "max": 48,
+ "step": 1,
+ "units": "px",
+ "description": "Applications icon size",
+ "dependency": "show-application-icons",
+ "value": 22
+ },
+ "favbox-show": {
+ "type": "switch",
+ "default": true,
+ "description": "Show favorites and session buttons",
+ "tooltip": "Choose whether or not to show the left pane of the menu.",
+ "value": true
+ },
+ "fav-icon-size": {
+ "type": "spinbutton",
+ "default": 32,
+ "min": 16,
+ "max": 64,
+ "step": 1,
+ "units": "px",
+ "description": "Favorites icon size",
+ "dependency": "favbox-show",
+ "value": 32
+ },
+ "show-favorites": {
+ "type": "switch",
+ "default": true,
+ "description": "Show favorites",
+ "tooltip": "Choose whether or not to show favorite files in the menu.",
+ "value": true
+ },
+ "show-places": {
+ "type": "switch",
+ "default": true,
+ "description": "Show bookmarks and places",
+ "tooltip": "Choose whether or not to show bookmarks and places in the menu.",
+ "value": false
+ },
+ "show-recents": {
+ "type": "switch",
+ "default": true,
+ "description": "Show recents",
+ "tooltip": "Choose whether or not to show recents in the menu.",
+ "value": false
+ },
+ "category-hover": {
+ "type": "switch",
+ "default": true,
+ "description": "Change categories on hover",
+ "tooltip": "Choose whether or not to change categories by hovering.",
+ "value": true
+ },
+ "enable-autoscroll": {
+ "type": "switch",
+ "default": true,
+ "description": "Enable autoscrolling in application list",
+ "tooltip": "Choose whether or not to enable smooth autoscrolling in the application list.",
+ "value": true
+ },
+ "search-filesystem": {
+ "type": "switch",
+ "default": false,
+ "description": "Enable filesystem path entry in search box",
+ "tooltip": "Allows path entry in the menu search box.",
+ "value": false
+ },
+ "force-show-panel": {
+ "type": "switch",
+ "default": true,
+ "description": "Force the panel to be visible when opening the menu",
+ "tooltip": "Opening the menu will also show the main panel (which may be auto-hidden).",
+ "value": true
+ },
+ "activate-on-hover": {
+ "type": "switch",
+ "default": false,
+ "description": "Open the menu when I move my mouse over it",
+ "tooltip": "Enable opening the menu when the mouse enters the applet",
+ "value": false
+ },
+ "hover-delay": {
+ "type": "spinbutton",
+ "default": 0,
+ "min": 0,
+ "max": 1000,
+ "step": 50,
+ "units": "milliseconds",
+ "dependency": "activate-on-hover",
+ "description": "Menu hover delay",
+ "tooltip": "Delay before the menu opens when hovered",
+ "value": 0
+ },
+ "enable-animation": {
+ "type": "switch",
+ "default": false,
+ "description": "Use menu animations",
+ "tooltip": "Allow the menu to animate on open and close",
+ "value": false
+ },
+ "menu-editor-button": {
+ "type": "button",
+ "description": "Open the menu editor",
+ "callback": "_launch_editor",
+ "tooltip": "Press this button to customize your menu entries."
+ },
+ "__md5__": "38c9122e36f6267fae12706a694ac35f"
+}
\ No newline at end of file
diff --git a/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/network@cinnamon.org/network@cinnamon.org.json b/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/network@cinnamon.org/network@cinnamon.org.json
new file mode 100644
index 0000000..07237ea
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/network@cinnamon.org/network@cinnamon.org.json
@@ -0,0 +1,14 @@
+{
+ "section1": {
+ "type": "section",
+ "description": "Menu"
+ },
+ "keyOpen": {
+ "type": "keybinding",
+ "description": "Show menu",
+ "default": "n",
+ "tooltip": "Set keybinding(s) to show the network applet menu.",
+ "value": "n"
+ },
+ "__md5__": "976b46e8430522899e7fe34f2abfee76"
+}
\ No newline at end of file
diff --git a/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/notifications@cinnamon.org/notifications@cinnamon.org.json b/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/notifications@cinnamon.org/notifications@cinnamon.org.json
new file mode 100644
index 0000000..428b0ad
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/notifications@cinnamon.org/notifications@cinnamon.org.json
@@ -0,0 +1,58 @@
+{
+ "section1": {
+ "type": "section",
+ "description": "Behavior"
+ },
+ "ignoreTransientNotifications": {
+ "type": "switch",
+ "default": true,
+ "description": "Ignore transient notifications",
+ "tooltip": "Check this to ignore transient notifications.",
+ "value": true
+ },
+ "section2": {
+ "type": "section",
+ "description": "Display"
+ },
+ "showEmptyTray": {
+ "type": "switch",
+ "default": false,
+ "description": "Show empty tray",
+ "tooltip": "Check this to show the tray even when there are no new notifications.",
+ "value": false
+ },
+ "showNotificationCount": {
+ "type": "switch",
+ "default": true,
+ "description": "Show the number of notifications",
+ "value": true
+ },
+ "section3": {
+ "type": "section",
+ "description": "Keyboard shortcuts"
+ },
+ "keyOpen": {
+ "type": "keybinding",
+ "description": "Show notifications",
+ "default": "n",
+ "tooltip": "Set keybinding(s) to show the notification popup menu.",
+ "value": "n"
+ },
+ "keyClear": {
+ "type": "keybinding",
+ "description": "Clear notifications",
+ "default": "c",
+ "tooltip": "Set keybinding(s) to clear all notifications.",
+ "value": "c"
+ },
+ "section4": {
+ "type": "section",
+ "description": ""
+ },
+ "btnSystemSettings": {
+ "type": "button",
+ "description": "Open notification settings",
+ "callback": "on_btn_open_system_settings_clicked"
+ },
+ "__md5__": "cb9ad336b2e360509f8ba388e1d19b8f"
+}
\ No newline at end of file
diff --git a/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/power@cinnamon.org/power@cinnamon.org.json b/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/power@cinnamon.org/power@cinnamon.org.json
new file mode 100644
index 0000000..02042e0
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/power@cinnamon.org/power@cinnamon.org.json
@@ -0,0 +1,22 @@
+{
+ "labelinfo": {
+ "type": "combobox",
+ "description": "Display",
+ "default": "nothing",
+ "options": {
+ "Show percentage": "percentage",
+ "Show time remaining": "time",
+ "Show percentage and time remaining": "percentage_time",
+ "Hide label": "nothing"
+ },
+ "value": "nothing"
+ },
+ "showmulti": {
+ "type": "switch",
+ "default": false,
+ "description": "Always show all batteries",
+ "tooltip": "Check this to always show multiple batteries in the panel, regardless of whether one of them is marked primary.",
+ "value": false
+ },
+ "__md5__": "db29025b0930e93063f745d0adcc675a"
+}
\ No newline at end of file
diff --git a/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/sound@cinnamon.org/sound@cinnamon.org.json b/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/sound@cinnamon.org/sound@cinnamon.org.json
new file mode 100644
index 0000000..bdd8625
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/cinnamon/spices/sound@cinnamon.org/sound@cinnamon.org.json
@@ -0,0 +1,116 @@
+{
+ "section1": {
+ "type": "section",
+ "description": "Menu"
+ },
+ "playerControl": {
+ "type": "switch",
+ "default": true,
+ "description": "Control Players",
+ "value": true
+ },
+ "extendedPlayerControl": {
+ "type": "switch",
+ "default": false,
+ "description": "Show Loop and Shuffle controls",
+ "dependency": "playerControl",
+ "value": false
+ },
+ "keyOpen": {
+ "type": "keybinding",
+ "description": "Show menu",
+ "default": "s",
+ "tooltip": "Set keybinding(s) to show the sound applet menu.",
+ "value": "s"
+ },
+ "_knownPlayers": {
+ "type": "generic",
+ "default": [
+ "banshee",
+ "vlc",
+ "rhythmbox"
+ ],
+ "value": [
+ "banshee",
+ "vlc",
+ "rhythmbox"
+ ]
+ },
+ "section2": {
+ "type": "section",
+ "description": "Panel"
+ },
+ "showtrack": {
+ "type": "switch",
+ "default": false,
+ "description": "Show song information on the panel",
+ "dependency": "playerControl",
+ "value": false
+ },
+ "truncatetext": {
+ "type": "spinbutton",
+ "default": 30,
+ "min": 5,
+ "max": 512,
+ "units": "characters",
+ "step": 1,
+ "description": "Limit song information to",
+ "dependency": "showtrack",
+ "value": 30
+ },
+ "middleClickAction": {
+ "type": "combobox",
+ "default": "mute",
+ "options": {
+ "Toggle Mute": "mute",
+ "Toggle Mute output": "out_mute",
+ "Toggle Mute input": "in_mute",
+ "Toggle Play / Pause": "player"
+ },
+ "description": "Action on middle click",
+ "value": "mute"
+ },
+ "horizontalScroll": {
+ "type": "switch",
+ "default": false,
+ "description": "Use horizontal scrolling to move between tracks",
+ "dependency": "playerControl",
+ "value": false
+ },
+ "showalbum": {
+ "type": "switch",
+ "default": false,
+ "description": "Show album art as icon",
+ "dependency": "playerControl",
+ "value": false
+ },
+ "hideSystray": {
+ "type": "switch",
+ "description": "Hide system tray icons for compatible players",
+ "default": true,
+ "value": true
+ },
+ "section3": {
+ "type": "section",
+ "description": "Tooltip"
+ },
+ "tooltipShowVolume": {
+ "type": "switch",
+ "default": true,
+ "description": "Show volume in tooltip",
+ "value": true
+ },
+ "tooltipShowPlayer": {
+ "type": "switch",
+ "default": false,
+ "description": "Show player in tooltip",
+ "value": false
+ },
+ "tooltipShowArtistTitle": {
+ "type": "switch",
+ "default": false,
+ "description": "Show song artist and title in tooltip",
+ "value": false
+ },
+ "__md5__": "cd7a99af6fce1f04852ac27d13a3bf55"
+}
\ No newline at end of file
diff --git a/parch-config-cinnamon/src/etc/skel/.config/dconf/user b/parch-config-cinnamon/src/etc/skel/.config/dconf/user
new file mode 100644
index 0000000..6f0e1c7
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.config/dconf/user differ
diff --git a/parch-config-cinnamon/src/etc/skel/.config/menus/cinnamon-applications-merged/user-chrome-apps.menu b/parch-config-cinnamon/src/etc/skel/.config/menus/cinnamon-applications-merged/user-chrome-apps.menu
new file mode 100644
index 0000000..337973e
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/menus/cinnamon-applications-merged/user-chrome-apps.menu
@@ -0,0 +1,13 @@
+
+
+
diff --git a/parch-config-cinnamon/src/etc/skel/.config/menus/cinnamon-applications-merged/wine-Programs-Bazi Ba Kalamat-Bazi Ba Kalamat.menu b/parch-config-cinnamon/src/etc/skel/.config/menus/cinnamon-applications-merged/wine-Programs-Bazi Ba Kalamat-Bazi Ba Kalamat.menu
new file mode 100644
index 0000000..4eba669
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/menus/cinnamon-applications-merged/wine-Programs-Bazi Ba Kalamat-Bazi Ba Kalamat.menu
@@ -0,0 +1,20 @@
+
+
+ Applications
+
+ wine-wine
+ wine-wine.directory
+
+ wine-Programs
+ wine-Programs.directory
+
+ wine-Programs-Bazi Ba Kalamat
+ wine-Programs-Bazi Ba Kalamat.directory
+
+ wine-Programs-Bazi Ba Kalamat-Bazi Ba Kalamat.desktop
+
+
+
+
+
diff --git a/parch-config-cinnamon/src/etc/skel/.config/menus/cinnamon-applications-merged/wine-Programs-Bazi Ba Kalamat-Readme.menu b/parch-config-cinnamon/src/etc/skel/.config/menus/cinnamon-applications-merged/wine-Programs-Bazi Ba Kalamat-Readme.menu
new file mode 100644
index 0000000..5b450e1
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/menus/cinnamon-applications-merged/wine-Programs-Bazi Ba Kalamat-Readme.menu
@@ -0,0 +1,20 @@
+
+
+ Applications
+
+ wine-wine
+ wine-wine.directory
+
+ wine-Programs
+ wine-Programs.directory
+
+ wine-Programs-Bazi Ba Kalamat
+ wine-Programs-Bazi Ba Kalamat.directory
+
+ wine-Programs-Bazi Ba Kalamat-Readme.desktop
+
+
+
+
+
diff --git a/parch-config-cinnamon/src/etc/skel/.config/menus/cinnamon-applications-merged/wine-Programs-Bazi Ba Kalamat-Remove Bazi Ba Kalamat.menu b/parch-config-cinnamon/src/etc/skel/.config/menus/cinnamon-applications-merged/wine-Programs-Bazi Ba Kalamat-Remove Bazi Ba Kalamat.menu
new file mode 100644
index 0000000..60bd345
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/menus/cinnamon-applications-merged/wine-Programs-Bazi Ba Kalamat-Remove Bazi Ba Kalamat.menu
@@ -0,0 +1,20 @@
+
+
+ Applications
+
+ wine-wine
+ wine-wine.directory
+
+ wine-Programs
+ wine-Programs.directory
+
+ wine-Programs-Bazi Ba Kalamat
+ wine-Programs-Bazi Ba Kalamat.directory
+
+ wine-Programs-Bazi Ba Kalamat-Remove Bazi Ba Kalamat.desktop
+
+
+
+
+
diff --git a/parch-config-cinnamon/src/etc/skel/.config/menus/cinnamon-applications-merged/xdg-desktop-menu-dummy.menu b/parch-config-cinnamon/src/etc/skel/.config/menus/cinnamon-applications-merged/xdg-desktop-menu-dummy.menu
new file mode 100644
index 0000000..e69de29
diff --git a/parch-config-cinnamon/src/etc/skel/.config/midori/bookmarks.db b/parch-config-cinnamon/src/etc/skel/.config/midori/bookmarks.db
new file mode 100644
index 0000000..ca2e1dc
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.config/midori/bookmarks.db differ
diff --git a/parch-config-cinnamon/src/etc/skel/.config/midori/bookmarks.db-shm b/parch-config-cinnamon/src/etc/skel/.config/midori/bookmarks.db-shm
new file mode 100644
index 0000000..6e1b9c5
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.config/midori/bookmarks.db-shm differ
diff --git a/parch-config-cinnamon/src/etc/skel/.config/midori/bookmarks.db-wal b/parch-config-cinnamon/src/etc/skel/.config/midori/bookmarks.db-wal
new file mode 100644
index 0000000..fe52f66
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.config/midori/bookmarks.db-wal differ
diff --git a/parch-config-cinnamon/src/etc/skel/.config/midori/config b/parch-config-cinnamon/src/etc/skel/.config/midori/config
new file mode 100644
index 0000000..2e5db22
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/midori/config
@@ -0,0 +1,3 @@
+[settings]
+last-window-width=710
+last-window-height=514
diff --git a/parch-config-cinnamon/src/etc/skel/.config/midori/cookies b/parch-config-cinnamon/src/etc/skel/.config/midori/cookies
new file mode 100644
index 0000000..660b114
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.config/midori/cookies differ
diff --git a/parch-config-cinnamon/src/etc/skel/.config/midori/history.db b/parch-config-cinnamon/src/etc/skel/.config/midori/history.db
new file mode 100644
index 0000000..ca2e1dc
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.config/midori/history.db differ
diff --git a/parch-config-cinnamon/src/etc/skel/.config/midori/history.db-shm b/parch-config-cinnamon/src/etc/skel/.config/midori/history.db-shm
new file mode 100644
index 0000000..a832352
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.config/midori/history.db-shm differ
diff --git a/parch-config-cinnamon/src/etc/skel/.config/midori/history.db-wal b/parch-config-cinnamon/src/etc/skel/.config/midori/history.db-wal
new file mode 100644
index 0000000..6ea01ab
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.config/midori/history.db-wal differ
diff --git a/parch-config-cinnamon/src/etc/skel/.config/midori/tabby.db b/parch-config-cinnamon/src/etc/skel/.config/midori/tabby.db
new file mode 100644
index 0000000..ca2e1dc
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.config/midori/tabby.db differ
diff --git a/parch-config-cinnamon/src/etc/skel/.config/midori/tabby.db-shm b/parch-config-cinnamon/src/etc/skel/.config/midori/tabby.db-shm
new file mode 100644
index 0000000..78e46bc
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.config/midori/tabby.db-shm differ
diff --git a/parch-config-cinnamon/src/etc/skel/.config/midori/tabby.db-wal b/parch-config-cinnamon/src/etc/skel/.config/midori/tabby.db-wal
new file mode 100644
index 0000000..82d0e42
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.config/midori/tabby.db-wal differ
diff --git a/parch-config-cinnamon/src/etc/skel/.config/nemo/desktop-metadata b/parch-config-cinnamon/src/etc/skel/.config/nemo/desktop-metadata
new file mode 100644
index 0000000..a2ce6d7
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/nemo/desktop-metadata
@@ -0,0 +1,4 @@
+[desktop-monitor-0]
+nemo-icon-view-keep-aligned=true
+nemo-icon-view-auto-layout=true
+nemo-icon-view-layout-timestamp=1675412816
diff --git a/parch-config-cinnamon/src/etc/skel/.config/pulse/cookie b/parch-config-cinnamon/src/etc/skel/.config/pulse/cookie
new file mode 100644
index 0000000..8878e1d
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/pulse/cookie
@@ -0,0 +1 @@
+>°ÆAöšcÉrÔz?LT6"Ö'&M¦Bë®+›ùˆÇÈhHÒÀÅvÚ8vE¡lš,æ ã…‘”ÛæĉŸóVmä¼™8ç×Op=‡+Q±Øk¼ýü犫†Üë.o
æý3þktúßÔ€.Zçù¦9ÕN¤èO> ßsWŠŒTGc¤m’?W–PXÈ›ÔR/i5Ø)¶±Šû˜•©…‹z¿lu„åúNíi›Ã"w khpDN'™gB}úQ‡úÓÒ‘AZÕ`3 _¨Zcõ2sîë\9ïºRä)I®@=åþ’&nÌB|,bx¡Û«öW«Ä
\ No newline at end of file
diff --git a/parch-config-cinnamon/src/etc/skel/.config/xdg-terminals.list b/parch-config-cinnamon/src/etc/skel/.config/xdg-terminals.list
new file mode 100644
index 0000000..b6e3341
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.config/xdg-terminals.list
@@ -0,0 +1 @@
+org.gnome.Terminal.desktop
diff --git a/parch-config-cinnamon/src/etc/skel/.local/share/Emote/user_data b/parch-config-cinnamon/src/etc/skel/.local/share/Emote/user_data
new file mode 100644
index 0000000..0253c04
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.local/share/Emote/user_data differ
diff --git a/parch-config-cinnamon/src/etc/skel/.local/share/gvfs-metadata/home b/parch-config-cinnamon/src/etc/skel/.local/share/gvfs-metadata/home
new file mode 100644
index 0000000..9ff0285
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.local/share/gvfs-metadata/home differ
diff --git a/parch-config-cinnamon/src/etc/skel/.local/share/keyrings/login.keyring b/parch-config-cinnamon/src/etc/skel/.local/share/keyrings/login.keyring
new file mode 100644
index 0000000..20db20b
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.local/share/keyrings/login.keyring differ
diff --git a/parch-config-cinnamon/src/etc/skel/.local/share/keyrings/user.keystore b/parch-config-cinnamon/src/etc/skel/.local/share/keyrings/user.keystore
new file mode 100644
index 0000000..10b744e
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.local/share/keyrings/user.keystore differ
diff --git a/parch-config-cinnamon/src/etc/skel/.local/share/recently-used.xbel b/parch-config-cinnamon/src/etc/skel/.local/share/recently-used.xbel
new file mode 100644
index 0000000..0c92169
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.local/share/recently-used.xbel
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/parch-config-cinnamon/src/etc/skel/.local/share/webkitgtk/storage/salt b/parch-config-cinnamon/src/etc/skel/.local/share/webkitgtk/storage/salt
new file mode 100644
index 0000000..8c3d8ab
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.local/share/webkitgtk/storage/salt
@@ -0,0 +1 @@
+Z–ì¯Ð™y
\ No newline at end of file
diff --git a/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/activity.sqlite b/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/activity.sqlite
new file mode 100644
index 0000000..3458453
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/activity.sqlite differ
diff --git a/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/activity.sqlite-shm b/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/activity.sqlite-shm
new file mode 100644
index 0000000..a7d2593
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/activity.sqlite-shm differ
diff --git a/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/activity.sqlite-wal b/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/activity.sqlite-wal
new file mode 100644
index 0000000..80c1f47
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/activity.sqlite-wal differ
diff --git a/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/fts.index/flintlock b/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/fts.index/flintlock
new file mode 100644
index 0000000..e69de29
diff --git a/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/fts.index/iamglass b/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/fts.index/iamglass
new file mode 100644
index 0000000..cfda815
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/fts.index/iamglass differ
diff --git a/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/fts.index/position.glass b/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/fts.index/position.glass
new file mode 100644
index 0000000..c430487
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/fts.index/position.glass differ
diff --git a/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/fts.index/postlist.glass b/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/fts.index/postlist.glass
new file mode 100644
index 0000000..16a79aa
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/fts.index/postlist.glass differ
diff --git a/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/fts.index/termlist.glass b/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/fts.index/termlist.glass
new file mode 100644
index 0000000..1f2c2c6
Binary files /dev/null and b/parch-config-cinnamon/src/etc/skel/.local/share/zeitgeist/fts.index/termlist.glass differ
diff --git a/parch-config-cinnamon/src/etc/skel/.local/state/lesshst b/parch-config-cinnamon/src/etc/skel/.local/state/lesshst
new file mode 100644
index 0000000..4d1c30b
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.local/state/lesshst
@@ -0,0 +1 @@
+.less-history-file:
diff --git a/parch-config-cinnamon/src/etc/skel/.local/state/wireplumber/default-routes b/parch-config-cinnamon/src/etc/skel/.local/state/wireplumber/default-routes
new file mode 100644
index 0000000..ad7720b
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.local/state/wireplumber/default-routes
@@ -0,0 +1,5 @@
+[default-routes]
+alsa_card.pci-0000_00_05.0:output:analog-output;output-amplifier-on:channelMap=FL;FR;
+alsa_card.pci-0000_00_05.0:output:analog-output;output-amplifier-on:channelVolumes=1.0;1.0;
+alsa_card.pci-0000_00_05.0:output:analog-output;output-amplifier-on:latencyOffsetNsec=0
+alsa_card.pci-0000_00_05.0:profile:output:analog-stereo+input:analog-stereo=analog-output\\;output-amplifier-on;
diff --git a/parch-config-cinnamon/src/etc/skel/.local/state/wireplumber/restore-stream b/parch-config-cinnamon/src/etc/skel/.local/state/wireplumber/restore-stream
new file mode 100644
index 0000000..15b6696
--- /dev/null
+++ b/parch-config-cinnamon/src/etc/skel/.local/state/wireplumber/restore-stream
@@ -0,0 +1,5 @@
+[restore-stream]
+Audio/Sink:node.name:auto_null:channelMap=FL;FR;
+Audio/Sink:node.name:auto_null:channelVolumes=1.0;1.0;
+Audio/Sink:node.name:auto_null:mute=false
+Audio/Sink:node.name:auto_null:volume=1.0
diff --git a/parch-config-i3/.gitignore b/parch-config-i3/.gitignore
new file mode 100644
index 0000000..30495e9
--- /dev/null
+++ b/parch-config-i3/.gitignore
@@ -0,0 +1 @@
+!src/
diff --git a/parch-config-i3/src/etc/skel/.config/i3/config b/parch-config-i3/src/etc/skel/.config/i3/config
new file mode 100644
index 0000000..dff879b
--- /dev/null
+++ b/parch-config-i3/src/etc/skel/.config/i3/config
@@ -0,0 +1,138 @@
+# set modifier
+set $super Mod4
+set $alt Mod1
+
+# set font
+font pango: Noto Sans 8
+
+# Use Mouse+$super to drag floating windows to their wanted position
+floating_modifier $super
+
+#autostart
+exec --no-startup-id hsetroot -center ~/.config/i3/walp.jpg
+exec --no-startup-id nitrogen --restore &
+exec --no-startup-id volumeicon &
+exec --no-startup-id nm-applet &
+exec --no-startup-id fa-key &
+exec --no-startup-id xsettingsd &
+exec --no-startup-id lxpolkit &
+exec --no-startup-id flameshot &
+exec --no-startup-id picom -b
+
+
+
+# start a terminal
+bindsym $super+Return exec kitty
+
+# start dmenu (a program launcher)
+bindsym $super+Shift+d exec i3-dmenu-desktop --dmenu="dmenu -i -fn 'Noto Sans:size=8'"
+bindsym $super+d exec rofi -lines 12 -padding 18 -width 60 -location 0 -show drun -sidebar-mode -columns 3 -font 'Noto Sans 8'
+
+# common apps keybinds
+bindsym Print exec scrot 'Cheese_%a-%d%b%y_%H.%M.png' -e 'viewnior ~/$f'
+bindsym $super+l exec i3lock -i ~/.wallpaper.png
+bindsym $super+Shift+w exec firefox
+bindsym $super+Shift+b exec brave
+bindsym $super+Shift+f exec pcmanfm
+bindsym $super+Shift+g exec geany
+
+#change volume
+bindsym XF86AudioRaiseVolume exec amixer -q set Master 5%+
+bindsym XF86AudioLowerVolume exec amixer -q set Master 5%-
+bindsym XF86AudioMute exec amixer set Master toggle
+
+# music control
+bindsym XF86AudioNext exec mpc next
+bindsym XF86AudioPrev exec mpc prev
+bindsym XF86AudioPlay exec mpc toggle
+bindsym XF86AudioStop exec mpc stop
+
+# kill focused window
+bindsym $super+c kill
+bindsym $alt+F4 kill
+
+# change focus
+bindsym $super+Left focus left
+bindsym $super+Down focus down
+bindsym $super+Up focus up
+bindsym $super+Right focus right
+
+# move focused window
+bindsym $super+Shift+Left move left
+bindsym $super+Shift+Down move down
+bindsym $super+Shift+Up move up
+bindsym $super+Shift+Right move right
+
+# split in horizontal orientation
+bindsym $super+h split h
+
+# split in vertical orientation
+bindsym $super+v split v
+
+# enter fullscreen mode for the focused container
+bindsym $super+f fullscreen toggle
+
+# change container layout split
+bindsym $super+s layout toggle split
+
+# toggle tiling / floating
+bindsym $super+space floating toggle
+
+# change focus between tiling / floating windows
+bindsym $super+Shift+space focus mode_toggle
+
+# switch to workspace
+bindsym $alt+Control+Right workspace next
+bindsym $alt+Control+Left workspace prev
+bindsym $super+1 workspace 1
+bindsym $super+2 workspace 2
+bindsym $super+3 workspace 3
+bindsym $super+4 workspace 4
+bindsym $super+5 workspace 5
+bindsym $super+6 workspace 6
+
+# move focused container to workspace
+bindsym $super+Shift+1 move container to workspace 1
+bindsym $super+Shift+2 move container to workspace 2
+bindsym $super+Shift+3 move container to workspace 3
+bindsym $super+Shift+4 move container to workspace 4
+bindsym $super+Shift+5 move container to workspace 5
+bindsym $super+Shift+6 move container to workspace 6
+
+# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
+bindsym $super+Shift+r restart
+
+# exit i3
+#bindsym $super+q exec "i3-nagbar -t warning -m 'Really, exit?' -b 'Yes' 'i3-msg exit'"
+bindsym $super+q exec archlinux-logout
+# resize window (you can also use the mouse for that)
+mode "resize" {
+ bindsym Left resize shrink width 5 px or 5 ppt
+ bindsym Down resize grow height 5 px or 5 ppt
+ bindsym Up resize shrink height 5 px or 5 ppt
+ bindsym Right resize grow width 5 px or 5 ppt
+ bindsym Return mode "default"
+}
+bindsym $super+r mode "resize"
+
+
+exec_always --no-startup-id ~/.config/polybar/launch.sh
+# window rules, you can find the window class using xprop
+for_window [class=".*"] border pixel 1
+assign [class=URxvt] 1
+assign [class=Firefox|Transmission-gtk] 2
+assign [class=Thunar|File-roller] 3
+assign [class=Geany|Evince|Gucharmap|Soffice|libreoffice*] 4
+assign [class=Audacity|Vlc|mpv|Ghb|Xfburn|Gimp*|Inkscape] 5
+assign [class=Lxappearance|System-config-printer.py|Lxtask|GParted|Pavucontrol|Exo-helper*|Lxrandr|Arandr] 6
+for_window [class=Viewnior|feh|Audacious|File-roller|Lxappearance|Lxtask|Pavucontrol] floating enable
+for_window [class=URxvt|Firefox|Geany|Evince|Soffice|libreoffice*|mpv|Ghb|Xfburn|Gimp*|Inkscape|Vlc|Lxappearance|Audacity] focus
+for_window [class=Xfburn|GParted|System-config-printer.py|Lxtask|Pavucontrol|Exo-helper*|Lxrandr|Arandr] focus
+
+# colour of border, background, text, indicator, and child_border
+client.focused #bf616a #2f343f #d8dee8 #bf616a #d8dee8
+client.focused_inactive #2f343f #2f343f #d8dee8 #2f343f #2f343f
+client.unfocused #2f343f #2f343f #d8dee8 #2f343f #2f343f
+client.urgent #2f343f #2f343f #d8dee8 #2f343f #2f343f
+client.placeholder #2f343f #2f343f #d8dee8 #2f343f #2f343f
+client.background #2f343f
diff --git a/parch-config-i3/src/etc/skel/.config/i3/walp.jpg b/parch-config-i3/src/etc/skel/.config/i3/walp.jpg
new file mode 100644
index 0000000..5a1c0df
Binary files /dev/null and b/parch-config-i3/src/etc/skel/.config/i3/walp.jpg differ
diff --git a/parch-config-i3/src/etc/skel/.config/kitty/colors.conf b/parch-config-i3/src/etc/skel/.config/kitty/colors.conf
new file mode 100644
index 0000000..5ffe978
--- /dev/null
+++ b/parch-config-i3/src/etc/skel/.config/kitty/colors.conf
@@ -0,0 +1,22 @@
+# Color theme: Tokyo Night Storm
+# Auto-generated by Gogh (https://Gogh-Co.github.io/Gogh/)
+
+color0 #414868
+color1 #f7768e
+color2 #9ece6a
+color3 #e0af68
+color4 #7aa2f7
+color5 #bb9af7
+color6 #7dcfff
+color7 #c0caf5
+color8 #414868
+color9 #f7768e
+color10 #9ece6a
+color11 #e0af68
+color12 #7aa2f7
+color13 #bb9af7
+color14 #7dcfff
+color15 #c0caf5
+background #24283b
+foreground #c0caf5
+cursor #c0caf5
diff --git a/parch-config-i3/src/etc/skel/.config/kitty/current-theme.conf b/parch-config-i3/src/etc/skel/.config/kitty/current-theme.conf
new file mode 100644
index 0000000..11f0e55
--- /dev/null
+++ b/parch-config-i3/src/etc/skel/.config/kitty/current-theme.conf
@@ -0,0 +1,23 @@
+background #002b36
+foreground #93a1a1
+cursor #93a1a1
+selection_background #93a1a1
+
+color0 #073642
+color1 #dc322f
+color2 #859900
+color3 #b58900
+color4 #268bd2
+color5 #d33682
+color6 #2aa198
+color7 #eee8d5
+color8 #002b36
+color9 #cb4b16
+color10 #586e75
+color11 #657b83
+color12 #839496
+color13 #6c71c4
+color14 #93a1a1
+color15 #fdf6e3
+
+selection_foreground #002b36
diff --git a/parch-config-i3/src/etc/skel/.config/kitty/kitty-themes b/parch-config-i3/src/etc/skel/.config/kitty/kitty-themes
new file mode 160000
index 0000000..b1abdd5
--- /dev/null
+++ b/parch-config-i3/src/etc/skel/.config/kitty/kitty-themes
@@ -0,0 +1 @@
+Subproject commit b1abdd54ba655ef34f75a568d78625981bf1722c
diff --git a/parch-config-i3/src/etc/skel/.config/kitty/kitty.conf b/parch-config-i3/src/etc/skel/.config/kitty/kitty.conf
new file mode 100644
index 0000000..2f33cc7
--- /dev/null
+++ b/parch-config-i3/src/etc/skel/.config/kitty/kitty.conf
@@ -0,0 +1,1512 @@
+# vim:fileencoding=utf-8:foldmethod=marker
+
+#: Fonts {{{
+
+#: kitty has very powerful font management. You can configure
+#: individual font faces and even specify special fonts for particular
+#: characters.
+
+font_family FiraCode
+bold_font auto
+italic_font auto
+bold_italic_font auto
+
+#: You can specify different fonts for the bold/italic/bold-italic
+#: variants. To get a full list of supported fonts use the `kitty
+#: list-fonts` command. By default they are derived automatically, by
+#: the OSes font system. Setting them manually is useful for font
+#: families that have many weight variants like Book, Medium, Thick,
+#: etc. For example::
+
+#: font_family Operator Mono Book
+#: bold_font Operator Mono Medium
+#: italic_font Operator Mono Book Italic
+#: bold_italic_font Operator Mono Medium Italic
+
+# font_size 11.0
+
+#: Font size (in pts)
+
+# force_ltr no
+
+#: kitty does not support BIDI (bidirectional text), however, for RTL
+#: scripts, words are automatically displayed in RTL. That is to say,
+#: in an RTL script, the words "HELLO WORLD" display in kitty as
+#: "WORLD HELLO", and if you try to select a substring of an RTL-
+#: shaped string, you will get the character that would be there had
+#: the the string been LTR. For example, assuming the Hebrew word
+#: ירושלי×, selecting the character that on the screen appears to be ×
+#: actually writes into the selection buffer the character ×™. kitty's
+#: default behavior is useful in conjunction with a filter to reverse
+#: the word order, however, if you wish to manipulate RTL glyphs, it
+#: can be very challenging to work with, so this option is provided to
+#: turn it off. Furthermore, this option can be used with the command
+#: line program GNU FriBidi
+#: to get BIDI
+#: support, because it will force kitty to always treat the text as
+#: LTR, which FriBidi expects for terminals.
+
+# adjust_line_height 0
+# adjust_column_width 0
+
+#: Change the size of each character cell kitty renders. You can use
+#: either numbers, which are interpreted as pixels or percentages
+#: (number followed by %), which are interpreted as percentages of the
+#: unmodified values. You can use negative pixels or percentages less
+#: than 100% to reduce sizes (but this might cause rendering
+#: artifacts).
+
+# adjust_baseline 0
+
+#: Adjust the vertical alignment of text (the height in the cell at
+#: which text is positioned). You can use either numbers, which are
+#: interpreted as pixels or a percentages (number followed by %),
+#: which are interpreted as the percentage of the line height. A
+#: positive value moves the baseline up, and a negative value moves
+#: them down. The underline and strikethrough positions are adjusted
+#: accordingly.
+
+# symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 PowerlineSymbols
+
+#: Map the specified unicode codepoints to a particular font. Useful
+#: if you need special rendering for some symbols, such as for
+#: Powerline. Avoids the need for patched fonts. Each unicode code
+#: point is specified in the form U+. You
+#: can specify multiple code points, separated by commas and ranges
+#: separated by hyphens. symbol_map itself can be specified multiple
+#: times. Syntax is::
+
+#: symbol_map codepoints Font Family Name
+
+# disable_ligatures never
+
+#: Choose how you want to handle multi-character ligatures. The
+#: default is to always render them. You can tell kitty to not render
+#: them when the cursor is over them by using cursor to make editing
+#: easier, or have kitty never render them at all by using always, if
+#: you don't like them. The ligature strategy can be set per-window
+#: either using the kitty remote control facility or by defining
+#: shortcuts for it in kitty.conf, for example::
+
+#: map alt+1 disable_ligatures_in active always
+#: map alt+2 disable_ligatures_in all never
+#: map alt+3 disable_ligatures_in tab cursor
+
+#: Note that this refers to programming ligatures, typically
+#: implemented using the calt OpenType feature. For disabling general
+#: ligatures, use the font_features setting.
+
+# font_features none
+
+#: Choose exactly which OpenType features to enable or disable. This
+#: is useful as some fonts might have features worthwhile in a
+#: terminal. For example, Fira Code Retina includes a discretionary
+#: feature, zero, which in that font changes the appearance of the
+#: zero (0), to make it more easily distinguishable from Ø. Fira Code
+#: Retina also includes other discretionary features known as
+#: Stylistic Sets which have the tags ss01 through ss20.
+
+#: For the exact syntax to use for individual features, see the
+#: Harfbuzz documentation .
+
+#: Note that this code is indexed by PostScript name, and not the font
+#: family. This allows you to define very precise feature settings;
+#: e.g. you can disable a feature in the italic font but not in the
+#: regular font.
+
+#: On Linux, these are read from the FontConfig database first and
+#: then this, setting is applied, so they can be configured in a
+#: single, central place.
+
+#: To get the PostScript name for a font, use kitty + list-fonts
+#: --psnames:
+
+#: .. code-block:: sh
+
+#: $ kitty + list-fonts --psnames | grep Fira
+#: Fira Code
+#: Fira Code Bold (FiraCode-Bold)
+#: Fira Code Light (FiraCode-Light)
+#: Fira Code Medium (FiraCode-Medium)
+#: Fira Code Regular (FiraCode-Regular)
+#: Fira Code Retina (FiraCode-Retina)
+
+#: The part in brackets is the PostScript name.
+
+#: Enable alternate zero and oldstyle numerals::
+
+#: font_features FiraCode-Retina +zero +onum
+
+#: Enable only alternate zero::
+
+#: font_features FiraCode-Retina +zero
+
+#: Disable the normal ligatures, but keep the calt feature which (in
+#: this font) breaks up monotony::
+
+#: font_features TT2020StyleB-Regular -liga +calt
+
+#: In conjunction with force_ltr, you may want to disable Arabic
+#: shaping entirely, and only look at their isolated forms if they
+#: show up in a document. You can do this with e.g.::
+
+#: font_features UnifontMedium +isol -medi -fina -init
+
+# box_drawing_scale 0.001, 1, 1.5, 2
+
+#: Change the sizes of the lines used for the box drawing unicode
+#: characters These values are in pts. They will be scaled by the
+#: monitor DPI to arrive at a pixel value. There must be four values
+#: corresponding to thin, normal, thick, and very thick lines.
+
+#: }}}
+
+#: Cursor customization {{{
+
+# cursor #cccccc
+
+#: Default cursor color
+
+# cursor_text_color #111111
+
+#: Choose the color of text under the cursor. If you want it rendered
+#: with the background color of the cell underneath instead, use the
+#: special keyword: background
+
+# cursor_shape block
+
+#: The cursor shape can be one of (block, beam, underline). Note that
+#: when reloading the config this will be changed only if the cursor
+#: shape has not been set by the program running in the terminal.
+
+# cursor_beam_thickness 1.5
+
+#: Defines the thickness of the beam cursor (in pts)
+
+# cursor_underline_thickness 2.0
+
+#: Defines the thickness of the underline cursor (in pts)
+
+# cursor_blink_interval -1
+
+#: The interval (in seconds) at which to blink the cursor. Set to zero
+#: to disable blinking. Negative values mean use system default. Note
+#: that numbers smaller than repaint_delay will be limited to
+#: repaint_delay.
+
+# cursor_stop_blinking_after 15.0
+
+#: Stop blinking cursor after the specified number of seconds of
+#: keyboard inactivity. Set to zero to never stop blinking.
+
+#: }}}
+
+#: Scrollback {{{
+
+# scrollback_lines 2000
+
+#: Number of lines of history to keep in memory for scrolling back.
+#: Memory is allocated on demand. Negative numbers are (effectively)
+#: infinite scrollback. Note that using very large scrollback is not
+#: recommended as it can slow down performance of the terminal and
+#: also use large amounts of RAM. Instead, consider using
+#: scrollback_pager_history_size. Note that on config reload if this
+#: is changed it will only affect newly created windows, not existing
+#: ones.
+
+# scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER
+
+#: Program with which to view scrollback in a new window. The
+#: scrollback buffer is passed as STDIN to this program. If you change
+#: it, make sure the program you use can handle ANSI escape sequences
+#: for colors and text formatting. INPUT_LINE_NUMBER in the command
+#: line above will be replaced by an integer representing which line
+#: should be at the top of the screen. Similarly CURSOR_LINE and
+#: CURSOR_COLUMN will be replaced by the current cursor position.
+
+# scrollback_pager_history_size 0
+
+#: Separate scrollback history size, used only for browsing the
+#: scrollback buffer (in MB). This separate buffer is not available
+#: for interactive scrolling but will be piped to the pager program
+#: when viewing scrollback buffer in a separate window. The current
+#: implementation stores the data in UTF-8, so approximatively 10000
+#: lines per megabyte at 100 chars per line, for pure ASCII text,
+#: unformatted text. A value of zero or less disables this feature.
+#: The maximum allowed size is 4GB. Note that on config reload if this
+#: is changed it will only affect newly created windows, not existing
+#: ones.
+
+# scrollback_fill_enlarged_window no
+
+#: Fill new space with lines from the scrollback buffer after
+#: enlarging a window.
+
+# wheel_scroll_multiplier 5.0
+
+#: Modify the amount scrolled by the mouse wheel. Note this is only
+#: used for low precision scrolling devices, not for high precision
+#: scrolling on platforms such as macOS and Wayland. Use negative
+#: numbers to change scroll direction.
+
+# touch_scroll_multiplier 1.0
+
+#: Modify the amount scrolled by a touchpad. Note this is only used
+#: for high precision scrolling devices on platforms such as macOS and
+#: Wayland. Use negative numbers to change scroll direction.
+
+#: }}}
+
+#: Mouse {{{
+
+# mouse_hide_wait 3.0
+
+#: Hide mouse cursor after the specified number of seconds of the
+#: mouse not being used. Set to zero to disable mouse cursor hiding.
+#: Set to a negative value to hide the mouse cursor immediately when
+#: typing text. Disabled by default on macOS as getting it to work
+#: robustly with the ever-changing sea of bugs that is Cocoa is too
+#: much effort.
+
+# url_color #0087bd
+# url_style curly
+
+#: The color and style for highlighting URLs on mouse-over. url_style
+#: can be one of: none, single, double, curly
+
+# open_url_with default
+
+#: The program with which to open URLs that are clicked on. The
+#: special value default means to use the operating system's default
+#: URL handler.
+
+# url_prefixes http https file ftp gemini irc gopher mailto news git
+
+#: The set of URL prefixes to look for when detecting a URL under the
+#: mouse cursor.
+
+# detect_urls yes
+
+#: Detect URLs under the mouse. Detected URLs are highlighted with an
+#: underline and the mouse cursor becomes a hand over them. Even if
+#: this option is disabled, URLs are still clickable.
+
+# url_excluded_characters
+
+#: Additional characters to be disallowed from URLs, when detecting
+#: URLs under the mouse cursor. By default, all characters legal in
+#: URLs are allowed.
+
+# copy_on_select no
+
+#: Copy to clipboard or a private buffer on select. With this set to
+#: clipboard, simply selecting text with the mouse will cause the text
+#: to be copied to clipboard. Useful on platforms such as macOS that
+#: do not have the concept of primary selections. You can instead
+#: specify a name such as a1 to copy to a private kitty buffer
+#: instead. Map a shortcut with the paste_from_buffer action to paste
+#: from this private buffer. For example::
+
+#: map cmd+shift+v paste_from_buffer a1
+
+#: Note that copying to the clipboard is a security risk, as all
+#: programs, including websites open in your browser can read the
+#: contents of the system clipboard.
+
+# strip_trailing_spaces never
+
+#: Remove spaces at the end of lines when copying to clipboard. A
+#: value of smart will do it when using normal selections, but not
+#: rectangle selections. always will always do it.
+
+# select_by_word_characters @-./_~?&=%+#
+
+#: Characters considered part of a word when double clicking. In
+#: addition to these characters any character that is marked as an
+#: alphanumeric character in the unicode database will be matched.
+
+# click_interval -1.0
+
+#: The interval between successive clicks to detect double/triple
+#: clicks (in seconds). Negative numbers will use the system default
+#: instead, if available, or fallback to 0.5.
+
+# focus_follows_mouse no
+
+#: Set the active window to the window under the mouse when moving the
+#: mouse around
+
+# pointer_shape_when_grabbed arrow
+
+#: The shape of the mouse pointer when the program running in the
+#: terminal grabs the mouse. Valid values are: arrow, beam and hand
+
+# default_pointer_shape beam
+
+#: The default shape of the mouse pointer. Valid values are: arrow,
+#: beam and hand
+
+# pointer_shape_when_dragging beam
+
+#: The default shape of the mouse pointer when dragging across text.
+#: Valid values are: arrow, beam and hand
+
+#: Mouse actions {{{
+
+#: Mouse buttons can be remapped to perform arbitrary actions. The
+#: syntax for doing so is:
+
+#: .. code-block:: none
+
+#: mouse_map button-name event-type modes action
+
+#: Where ``button-name`` is one of ``left``, ``middle``, ``right`` or
+#: ``b1 ... b8`` with added keyboard modifiers, for example:
+#: ``ctrl+shift+left`` refers to holding the ctrl+shift keys while
+#: clicking with the left mouse button. The number ``b1 ... b8`` can
+#: be used to refer to upto eight buttons on a mouse.
+
+#: ``event-type`` is one ``press``, ``release``, ``doublepress``,
+#: ``triplepress``, ``click`` and ``doubleclick``. ``modes``
+#: indicates whether the action is performed when the mouse is grabbed
+#: by the program running in the terminal, or not. It can have one or
+#: more or the values, ``grabbed,ungrabbed``. ``grabbed`` refers to
+#: when the program running in the terminal has requested mouse
+#: events. Note that the click and double click events have a delay of
+#: click_interval to disambiguate from double and triple presses.
+
+#: You can run kitty with the kitty --debug-input command line option
+#: to see mouse events. See the builtin actions below to get a sense
+#: of what is possible.
+
+#: If you want to unmap an action map it to ``no-op``. For example, to
+#: disable opening of URLs with a plain click::
+
+#: mouse_map left click ungrabbed no-op
+
+#: .. note::
+#: Once a selection is started, releasing the button that started it will
+#: automatically end it and no release event will be dispatched.
+
+# clear_all_mouse_actions no
+
+#: You can have kitty remove all mouse actions seen up to this point.
+#: Useful, for instance, to remove the default mouse actions.
+
+# mouse_map left click ungrabbed mouse_click_url_or_select
+# mouse_map shift+left click grabbed,ungrabbed mouse_click_url_or_select
+# mouse_map ctrl+shift+left release grabbed,ungrabbed mouse_click_url
+
+#: Variant with ctrl+shift is present because the simple click based
+#: version has an unavoidable delay of click_interval, to disambiguate
+#: clicks from double clicks.
+
+# mouse_map ctrl+shift+left press grabbed discard_event
+
+#: Prevent this press event from being sent to the program that has
+#: grabbed the mouse, as the corresponding release event is used to
+#: open a URL.
+
+# mouse_map middle release ungrabbed paste_from_selection
+# mouse_map left press ungrabbed mouse_selection normal
+# mouse_map ctrl+alt+left press ungrabbed mouse_selection rectangle
+# mouse_map left doublepress ungrabbed mouse_selection word
+# mouse_map left triplepress ungrabbed mouse_selection line
+
+#: Select the entire line
+
+# mouse_map ctrl+alt+left triplepress ungrabbed mouse_selection line_from_point
+
+#: Select from the clicked point to the end of the line
+
+# mouse_map right press ungrabbed mouse_selection extend
+
+#: If you want only the end of the selection to be moved instead of
+#: the nearest boundary, use move-end instead of extend.
+
+# mouse_map shift+middle release ungrabbed,grabbed paste_selection
+# mouse_map shift+left press ungrabbed,grabbed mouse_selection normal
+# mouse_map shift+ctrl+alt+left press ungrabbed,grabbed mouse_selection rectangle
+# mouse_map shift+left doublepress ungrabbed,grabbed mouse_selection word
+# mouse_map shift+left triplepress ungrabbed,grabbed mouse_selection line
+
+#: Select the entire line
+
+# mouse_map shift+ctrl+alt+left triplepress ungrabbed,grabbed mouse_selection line_from_point
+
+#: Select from the clicked point to the end of the line
+
+# mouse_map shift+right press ungrabbed,grabbed mouse_selection extend
+#: }}}
+
+#: }}}
+
+#: Performance tuning {{{
+
+# repaint_delay 10
+
+#: Delay (in milliseconds) between screen updates. Decreasing it,
+#: increases frames-per-second (FPS) at the cost of more CPU usage.
+#: The default value yields ~100 FPS which is more than sufficient for
+#: most uses. Note that to actually achieve 100 FPS you have to either
+#: set sync_to_monitor to no or use a monitor with a high refresh
+#: rate. Also, to minimize latency when there is pending input to be
+#: processed, repaint_delay is ignored.
+
+# input_delay 3
+
+#: Delay (in milliseconds) before input from the program running in
+#: the terminal is processed. Note that decreasing it will increase
+#: responsiveness, but also increase CPU usage and might cause flicker
+#: in full screen programs that redraw the entire screen on each loop,
+#: because kitty is so fast that partial screen updates will be drawn.
+
+# sync_to_monitor yes
+
+#: Sync screen updates to the refresh rate of the monitor. This
+#: prevents tearing (https://en.wikipedia.org/wiki/Screen_tearing)
+#: when scrolling. However, it limits the rendering speed to the
+#: refresh rate of your monitor. With a very high speed mouse/high
+#: keyboard repeat rate, you may notice some slight input latency. If
+#: so, set this to no.
+
+#: }}}
+
+#: Terminal bell {{{
+
+# enable_audio_bell yes
+
+#: Enable/disable the audio bell. Useful in environments that require
+#: silence.
+
+# visual_bell_duration 0.0
+
+#: Visual bell duration. Flash the screen when a bell occurs for the
+#: specified number of seconds. Set to zero to disable.
+
+# window_alert_on_bell yes
+
+#: Request window attention on bell. Makes the dock icon bounce on
+#: macOS or the taskbar flash on linux.
+
+# bell_on_tab yes
+
+#: Show a bell symbol on the tab if a bell occurs in one of the
+#: windows in the tab and the window is not the currently focused
+#: window
+
+# command_on_bell none
+
+#: Program to run when a bell occurs. The environment variable
+#: KITTY_CHILD_CMDLINE can be used to get the program running in the
+#: window in which the bell occurred.
+
+#: }}}
+
+#: Window layout {{{
+
+# remember_window_size yes
+# initial_window_width 640
+# initial_window_height 400
+
+#: If enabled, the window size will be remembered so that new
+#: instances of kitty will have the same size as the previous
+#: instance. If disabled, the window will initially have size
+#: configured by initial_window_width/height, in pixels. You can use a
+#: suffix of "c" on the width/height values to have them interpreted
+#: as number of cells instead of pixels.
+
+# enabled_layouts *
+
+#: The enabled window layouts. A comma separated list of layout names.
+#: The special value all means all layouts. The first listed layout
+#: will be used as the startup layout. Default configuration is all
+#: layouts in alphabetical order. For a list of available layouts, see
+#: the https://sw.kovidgoyal.net/kitty/overview/#layouts.
+
+# window_resize_step_cells 2
+# window_resize_step_lines 2
+
+#: The step size (in units of cell width/cell height) to use when
+#: resizing windows. The cells value is used for horizontal resizing
+#: and the lines value for vertical resizing.
+
+# window_border_width 0.5pt
+
+#: The width of window borders. Can be either in pixels (px) or pts
+#: (pt). Values in pts will be rounded to the nearest number of pixels
+#: based on screen resolution. If not specified the unit is assumed to
+#: be pts. Note that borders are displayed only when more than one
+#: window is visible. They are meant to separate multiple windows.
+
+# draw_minimal_borders yes
+
+#: Draw only the minimum borders needed. This means that only the
+#: minimum needed borders for inactive windows are drawn. That is only
+#: the borders that separate the inactive window from a neighbor. Note
+#: that setting a non-zero window margin overrides this and causes all
+#: borders to be drawn.
+
+# window_margin_width 0
+
+#: The window margin (in pts) (blank area outside the border). A
+#: single value sets all four sides. Two values set the vertical and
+#: horizontal sides. Three values set top, horizontal and bottom. Four
+#: values set top, right, bottom and left.
+
+# single_window_margin_width -1
+
+#: The window margin (in pts) to use when only a single window is
+#: visible. Negative values will cause the value of
+#: window_margin_width to be used instead. A single value sets all
+#: four sides. Two values set the vertical and horizontal sides. Three
+#: values set top, horizontal and bottom. Four values set top, right,
+#: bottom and left.
+
+# window_padding_width 0
+
+#: The window padding (in pts) (blank area between the text and the
+#: window border). A single value sets all four sides. Two values set
+#: the vertical and horizontal sides. Three values set top, horizontal
+#: and bottom. Four values set top, right, bottom and left.
+
+# placement_strategy center
+
+#: When the window size is not an exact multiple of the cell size, the
+#: cell area of the terminal window will have some extra padding on
+#: the sides. You can control how that padding is distributed with
+#: this option. Using a value of center means the cell area will be
+#: placed centrally. A value of top-left means the padding will be on
+#: only the bottom and right edges.
+
+# active_border_color #00ff00
+
+#: The color for the border of the active window. Set this to none to
+#: not draw borders around the active window.
+
+# inactive_border_color #cccccc
+
+#: The color for the border of inactive windows
+
+# bell_border_color #ff5a00
+
+#: The color for the border of inactive windows in which a bell has
+#: occurred
+
+# inactive_text_alpha 1.0
+
+#: Fade the text in inactive windows by the specified amount (a number
+#: between zero and one, with zero being fully faded).
+
+# hide_window_decorations no
+
+#: Hide the window decorations (title-bar and window borders) with
+#: yes. On macOS, titlebar-only can be used to only hide the titlebar.
+#: Whether this works and exactly what effect it has depends on the
+#: window manager/operating system. Note that the effects of changing
+#: this setting when reloading config are undefined.
+
+# resize_debounce_time 0.1
+
+#: The time (in seconds) to wait before redrawing the screen when a
+#: resize event is received. On platforms such as macOS, where the
+#: operating system sends events corresponding to the start and end of
+#: a resize, this number is ignored.
+
+# resize_draw_strategy static
+
+#: Choose how kitty draws a window while a resize is in progress. A
+#: value of static means draw the current window contents, mostly
+#: unchanged. A value of scale means draw the current window contents
+#: scaled. A value of blank means draw a blank window. A value of size
+#: means show the window size in cells.
+
+# resize_in_steps no
+
+#: Resize the OS window in steps as large as the cells, instead of
+#: with the usual pixel accuracy. Combined with an
+#: initial_window_width and initial_window_height in number of cells,
+#: this option can be used to keep the margins as small as possible
+#: when resizing the OS window. Note that this does not currently work
+#: on Wayland.
+
+# confirm_os_window_close 0
+
+#: Ask for confirmation when closing an OS window or a tab that has at
+#: least this number of kitty windows in it. A value of zero disables
+#: confirmation. This confirmation also applies to requests to quit
+#: the entire application (all OS windows, via the quit action).
+
+#: }}}
+
+#: Tab bar {{{
+
+# tab_bar_edge bottom
+
+#: Which edge to show the tab bar on, top or bottom
+
+# tab_bar_margin_width 0.0
+
+#: The margin to the left and right of the tab bar (in pts)
+
+# tab_bar_margin_height 0.0 0.0
+
+#: The margin above and below the tab bar (in pts). The first number
+#: is the margin between the edge of the OS Window and the tab bar and
+#: the second number is the margin between the tab bar and the
+#: contents of the current tab.
+
+tab_bar_style custom
+
+#: The tab bar style, can be one of:
+
+#: fade
+#: Each tab's edges fade into the background color (see tab_fade)
+#: slant
+#: Tabs look like the tabs in a physical file
+#: separator
+#: Tabs are separated by a configurable separator (see tab_separator)
+#: powerline
+#: Tabs are shown as a continuous line with "fancy" separators (see tab_powerline_style)
+#: hidden
+#: The tab bar is hidden. If you use this, you might want to create a mapping
+#: for the https://sw.kovidgoyal.net/kitty/actions/#select-tab action which presents you with a list
+#: of tabs and allows for easy switching to a tab.
+
+# tab_bar_min_tabs 2
+
+#: The minimum number of tabs that must exist before the tab bar is
+#: shown
+
+# tab_switch_strategy previous
+
+#: The algorithm to use when switching to a tab when the current tab
+#: is closed. The default of previous will switch to the last used
+#: tab. A value of left will switch to the tab to the left of the
+#: closed tab. A value of right will switch to the tab to the right of
+#: the closed tab. A value of last will switch to the right-most tab.
+
+# tab_fade 0.25 0.5 0.75 1
+
+#: Control how each tab fades into the background when using fade for
+#: the tab_bar_style. Each number is an alpha (between zero and one)
+#: that controls how much the corresponding cell fades into the
+#: background, with zero being no fade and one being full fade. You
+#: can change the number of cells used by adding/removing entries to
+#: this list.
+
+# tab_separator " ┇"
+
+#: The separator between tabs in the tab bar when using separator as
+#: the tab_bar_style.
+
+# tab_powerline_style angled
+
+#: The powerline separator style between tabs in the tab bar when
+#: using powerline as the tab_bar_style, can be one of: angled,
+#: slanted, or round.
+
+# tab_activity_symbol none
+
+#: Some text or a unicode symbol to show on the tab if a window in the
+#: tab that does not have focus has some activity. If you want to use
+#: leading or trailing spaces surround the text with quotes.
+
+# tab_title_template "{title}"
+
+#: A template to render the tab title. The default just renders the
+#: title. If you wish to include the tab-index as well, use something
+#: like: {index}: {title}. Useful if you have shortcuts mapped for
+#: goto_tab N. If you prefer to see the index as a superscript, use
+#: {sup.index}. In addition you can use {layout_name} for the current
+#: layout name, {num_windows} for the number of windows in the tab and
+#: {num_window_groups} for the number of window groups (not counting
+#: overlay windows) in the tab. Note that formatting is done by
+#: Python's string formatting machinery, so you can use, for instance,
+#: {layout_name[:2].upper()} to show only the first two letters of the
+#: layout name, upper-cased. If you want to style the text, you can
+#: use styling directives, for example:
+#: {fmt.fg.red}red{fmt.fg.default}normal{fmt.bg._00FF00}green
+#: bg{fmt.bg.normal}. Similarly, for bold and italic:
+#: {fmt.bold}bold{fmt.nobold}normal{fmt.italic}italic{fmt.noitalic}.
+
+# active_tab_title_template none
+
+#: Template to use for active tabs, if not specified falls back to
+#: tab_title_template.
+
+# active_tab_foreground #000
+# active_tab_background #eee
+# active_tab_font_style bold-italic
+# inactive_tab_foreground #444
+# inactive_tab_background #999
+# inactive_tab_font_style normal
+
+#: Tab bar colors and styles
+
+# tab_bar_background none
+
+#: Background color for the tab bar. Defaults to using the terminal
+#: background color.
+
+#: }}}
+
+#: Color scheme {{{
+
+# foreground #dddddd
+# background #000000
+
+#: The foreground and background colors
+
+background_opacity 0.9
+
+#: The opacity of the background. A number between 0 and 1, where 1 is
+#: opaque and 0 is fully transparent. This will only work if
+#: supported by the OS (for instance, when using a compositor under
+#: X11). Note that it only sets the background color's opacity in
+#: cells that have the same background color as the default terminal
+#: background. This is so that things like the status bar in vim,
+#: powerline prompts, etc. still look good. But it means that if you
+#: use a color theme with a background color in your editor, it will
+#: not be rendered as transparent. Instead you should change the
+#: default background color in your kitty config and not use a
+#: background color in the editor color scheme. Or use the escape
+#: codes to set the terminals default colors in a shell script to
+#: launch your editor. Be aware that using a value less than 1.0 is a
+#: (possibly significant) performance hit. If you want to dynamically
+#: change transparency of windows set dynamic_background_opacity to
+#: yes (this is off by default as it has a performance cost). Changing
+#: this setting when reloading the config will only work if
+#: dynamic_background_opacity was enabled in the original config.
+
+# background_image none
+
+#: Path to a background image. Must be in PNG format.
+
+# background_image_layout tiled
+
+#: Whether to tile or scale the background image.
+
+# background_image_linear no
+
+#: When background image is scaled, whether linear interpolation
+#: should be used.
+
+# dynamic_background_opacity no
+
+#: Allow changing of the background_opacity dynamically, using either
+#: keyboard shortcuts (increase_background_opacity and
+#: decrease_background_opacity) or the remote control facility.
+#: Changing this setting by reloading the config is not supported.
+
+# background_tint 0.0
+
+#: How much to tint the background image by the background color. The
+#: tint is applied only under the text area, not margin/borders. Makes
+#: it easier to read the text. Tinting is done using the current
+#: background color for each window. This setting applies only if
+#: background_opacity is set and transparent windows are supported or
+#: background_image is set.
+
+# dim_opacity 0.75
+
+#: How much to dim text that has the DIM/FAINT attribute set. One
+#: means no dimming and zero means fully dimmed (i.e. invisible).
+
+# selection_foreground #000000
+
+#: The foreground for text selected with the mouse. A value of none
+#: means to leave the color unchanged.
+
+# selection_background #fffacd
+
+#: The background for text selected with the mouse.
+
+#: The color table {{{
+
+#: The 256 terminal colors. There are 8 basic colors, each color has a
+#: dull and bright version, for the first 16 colors. You can set the
+#: remaining 240 colors as color16 to color255.
+
+# color0 #000000
+# color8 #767676
+
+#: black
+
+# color1 #cc0403
+# color9 #f2201f
+
+#: red
+
+# color2 #19cb00
+# color10 #23fd00
+
+#: green
+
+# color3 #cecb00
+# color11 #fffd00
+
+#: yellow
+
+# color4 #0d73cc
+# color12 #1a8fff
+
+#: blue
+
+# color5 #cb1ed1
+# color13 #fd28ff
+
+#: magenta
+
+# color6 #0dcdcd
+# color14 #14ffff
+
+#: cyan
+
+# color7 #dddddd
+# color15 #ffffff
+
+#: white
+
+# mark1_foreground black
+
+#: Color for marks of type 1
+
+# mark1_background #98d3cb
+
+#: Color for marks of type 1 (light steel blue)
+
+# mark2_foreground black
+
+#: Color for marks of type 2
+
+# mark2_background #f2dcd3
+
+#: Color for marks of type 1 (beige)
+
+# mark3_foreground black
+
+#: Color for marks of type 3
+
+# mark3_background #f274bc
+
+#: Color for marks of type 3 (violet)
+
+#: }}}
+
+#: }}}
+
+#: Advanced {{{
+
+# shell .
+
+#: The shell program to execute. The default value of . means to use
+#: whatever shell is set as the default shell for the current user.
+#: Note that on macOS if you change this, you might need to add
+#: --login and --interactive to ensure that the shell starts in
+#: interactive mode and reads its startup rc files.
+
+# editor .
+
+#: The terminal editor (such as ``vim`` or ``nano``) to use when
+#: editing the kitty config file or similar tasks.
+
+#: The default value of . means to use the environment variables
+#: VISUAL and EDITOR in that order. If these variables aren't set,
+#: kitty will run your shell (``$SHELL -l -i -c env``) to see if your
+#: shell config files set VISUAL or EDITOR. If that doesn't work,
+#: kitty will cycle through various known editors (``vim``, ``emacs``,
+#: etc) and take the first one that exists on your system.
+
+# close_on_child_death no
+
+#: Close the window when the child process (shell) exits. If no (the
+#: default), the terminal will remain open when the child exits as
+#: long as there are still processes outputting to the terminal (for
+#: example disowned or backgrounded processes). If yes, the window
+#: will close as soon as the child process exits. Note that setting it
+#: to yes means that any background processes still using the terminal
+#: can fail silently because their stdout/stderr/stdin no longer work.
+
+allow_remote_control yes
+
+#: Allow other programs to control kitty. If you turn this on other
+#: programs can control all aspects of kitty, including sending text
+#: to kitty windows, opening new windows, closing windows, reading the
+#: content of windows, etc. Note that this even works over ssh
+#: connections. You can chose to either allow any program running
+#: within kitty to control it, with yes or only programs that connect
+#: to the socket specified with the kitty --listen-on command line
+#: option, if you use the value socket-only. The latter is useful if
+#: you want to prevent programs running on a remote computer over ssh
+#: from controlling kitty. Reloading the config will not affect this
+#: setting.
+
+# listen_on none
+
+#: Tell kitty to listen to the specified unix/tcp socket for remote
+#: control connections. Note that this will apply to all kitty
+#: instances. It can be overridden by the kitty --listen-on command
+#: line flag. This option accepts only UNIX sockets, such as
+#: unix:${TEMP}/mykitty or (on Linux) unix:@mykitty. Environment
+#: variables are expanded. If {kitty_pid} is present then it is
+#: replaced by the PID of the kitty process, otherwise the PID of the
+#: kitty process is appended to the value, with a hyphen. This option
+#: is ignored unless you also set allow_remote_control to enable
+#: remote control. See the help for kitty --listen-on for more
+#: details. Changing this option by reloading the config is not
+#: supported.
+
+# env
+
+#: Specify environment variables to set in all child processes. Note
+#: that environment variables are expanded recursively, so if you
+#: use::
+
+#: env MYVAR1=a
+#: env MYVAR2=${MYVAR1}/${HOME}/b
+
+#: The value of MYVAR2 will be a//b.
+
+# update_check_interval 24
+
+#: Periodically check if an update to kitty is available. If an update
+#: is found a system notification is displayed informing you of the
+#: available update. The default is to check every 24 hrs, set to zero
+#: to disable. Changing this option by reloading the config is not
+#: supported.
+
+# startup_session none
+
+#: Path to a session file to use for all kitty instances. Can be
+#: overridden by using the kitty --session command line option for
+#: individual instances. See
+#: https://sw.kovidgoyal.net/kitty/overview/#startup-sessions in the
+#: kitty documentation for details. Note that relative paths are
+#: interpreted with respect to the kitty config directory. Environment
+#: variables in the path are expanded. Changing this option by
+#: reloading the config is not supported.
+
+# clipboard_control write-clipboard write-primary
+
+#: Allow programs running in kitty to read and write from the
+#: clipboard. You can control exactly which actions are allowed. The
+#: set of possible actions is: write-clipboard read-clipboard write-
+#: primary read-primary. The default is to allow writing to the
+#: clipboard and primary selection. Note that enabling the read
+#: functionality is a security risk as it means that any program, even
+#: one running on a remote server via SSH can read your clipboard. See
+#: also clipboard_max_size.
+
+# clipboard_max_size 64
+
+#: The maximum size (in MB) of data from programs running in kitty
+#: that will be stored for writing to the system clipboard. See also
+#: clipboard_control. A value of zero means no size limit is applied.
+
+# allow_hyperlinks yes
+
+#: Process hyperlink (OSC 8) escape sequences. If disabled OSC 8
+#: escape sequences are ignored. Otherwise they become clickable
+#: links, that you can click by holding down ctrl+shift and clicking
+#: with the mouse. The special value of ``ask`` means that kitty will
+#: ask before opening the link.
+
+# term xterm-kitty
+
+#: The value of the TERM environment variable to set. Changing this
+#: can break many terminal programs, only change it if you know what
+#: you are doing, not because you read some advice on Stack Overflow
+#: to change it. The TERM variable is used by various programs to get
+#: information about the capabilities and behavior of the terminal. If
+#: you change it, depending on what programs you run, and how
+#: different the terminal you are changing it to is, various things
+#: from key-presses, to colors, to various advanced features may not
+#: work. Changing this option by reloading the config will only affect
+#: newly created windows.
+
+#: }}}
+
+#: OS specific tweaks {{{
+
+# wayland_titlebar_color system
+
+#: Change the color of the kitty window's titlebar on Wayland systems
+#: with client side window decorations such as GNOME. A value of
+#: system means to use the default system color, a value of background
+#: means to use the background color of the currently active window
+#: and finally you can use an arbitrary color, such as #12af59 or red.
+
+# macos_titlebar_color system
+
+#: Change the color of the kitty window's titlebar on macOS. A value
+#: of system means to use the default system color, a value of
+#: background means to use the background color of the currently
+#: active window and finally you can use an arbitrary color, such as
+#: #12af59 or red. WARNING: This option works by using a hack, as
+#: there is no proper Cocoa API for it. It sets the background color
+#: of the entire window and makes the titlebar transparent. As such it
+#: is incompatible with background_opacity. If you want to use both,
+#: you are probably better off just hiding the titlebar with
+#: hide_window_decorations.
+
+# macos_option_as_alt no
+
+#: Use the option key as an alt key. With this set to no, kitty will
+#: use the macOS native Option+Key = unicode character behavior. This
+#: will break any Alt+key keyboard shortcuts in your terminal
+#: programs, but you can use the macOS unicode input technique. You
+#: can use the values: left, right, or both to use only the left,
+#: right or both Option keys as Alt, instead. Changing this setting by
+#: reloading the config is not supported.
+
+# macos_hide_from_tasks no
+
+#: Hide the kitty window from running tasks (⌘+Tab) on macOS. Changing
+#: this setting by reloading the config is not supported.
+
+# macos_quit_when_last_window_closed no
+
+#: Have kitty quit when all the top-level windows are closed. By
+#: default, kitty will stay running, even with no open windows, as is
+#: the expected behavior on macOS.
+
+# macos_window_resizable yes
+
+#: Disable this if you want kitty top-level (OS) windows to not be
+#: resizable on macOS. Changing this setting by reloading the config
+#: will only affect newly created windows.
+
+# macos_thicken_font 0
+
+#: Draw an extra border around the font with the given width, to
+#: increase legibility at small font sizes. For example, a value of
+#: 0.75 will result in rendering that looks similar to sub-pixel
+#: antialiasing at common font sizes.
+
+# macos_traditional_fullscreen no
+
+#: Use the traditional full-screen transition, that is faster, but
+#: less pretty.
+
+# macos_show_window_title_in all
+
+#: Show or hide the window title in the macOS window or menu-bar. A
+#: value of window will show the title of the currently active window
+#: at the top of the macOS window. A value of menubar will show the
+#: title of the currently active window in the macOS menu-bar, making
+#: use of otherwise wasted space. all will show the title everywhere
+#: and none hides the title in the window and the menu-bar.
+
+# macos_custom_beam_cursor no
+
+#: Enable/disable custom mouse cursor for macOS that is easier to see
+#: on both light and dark backgrounds. WARNING: this might make your
+#: mouse cursor invisible on dual GPU machines. Changing this setting
+#: by reloading the config is not supported.
+
+# linux_display_server auto
+
+#: Choose between Wayland and X11 backends. By default, an appropriate
+#: backend based on the system state is chosen automatically. Set it
+#: to x11 or wayland to force the choice. Changing this setting by
+#: reloading the config is not supported.
+
+#: }}}
+
+#: Keyboard shortcuts {{{
+
+#: Keys are identified simply by their lowercase unicode characters.
+#: For example: ``a`` for the A key, ``[`` for the left square bracket
+#: key, etc. For functional keys, such as ``Enter or Escape`` the
+#: names are present at https://sw.kovidgoyal.net/kitty/keyboard-
+#: protocol/#functional-key-definitions. For a list of modifier names,
+#: see: GLFW mods
+
+#: On Linux you can also use XKB key names to bind keys that are not
+#: supported by GLFW. See XKB keys
+#: for a list of key names. The name to use is the part
+#: after the XKB_KEY_ prefix. Note that you can only use an XKB key
+#: name for keys that are not known as GLFW keys.
+
+#: Finally, you can use raw system key codes to map keys, again only
+#: for keys that are not known as GLFW keys. To see the system key
+#: code for a key, start kitty with the kitty --debug-input option.
+#: Then kitty will output some debug text for every key event. In that
+#: text look for ``native_code`` the value of that becomes the key
+#: name in the shortcut. For example:
+
+#: .. code-block:: none
+
+#: on_key_input: glfw key: 65 native_code: 0x61 action: PRESS mods: 0x0 text: 'a'
+
+#: Here, the key name for the A key is 0x61 and you can use it with::
+
+#: map ctrl+0x61 something
+
+#: to map ctrl+a to something.
+
+#: You can use the special action no_op to unmap a keyboard shortcut
+#: that is assigned in the default configuration::
+
+#: map kitty_mod+space no_op
+
+#: You can combine multiple actions to be triggered by a single
+#: shortcut, using the syntax below::
+
+#: map key combine action1 action2 action3 ...
+
+#: For example::
+
+#: map kitty_mod+e combine : new_window : next_layout
+
+#: this will create a new window and switch to the next available
+#: layout
+
+#: You can use multi-key shortcuts using the syntax shown below::
+
+#: map key1>key2>key3 action
+
+#: For example::
+
+#: map ctrl+f>2 set_font_size 20
+
+#: The full list of actions that can be mapped to key presses is
+#: available here .
+
+# kitty_mod ctrl+shift
+
+#: The value of kitty_mod is used as the modifier for all default
+#: shortcuts, you can change it in your kitty.conf to change the
+#: modifiers for all the default shortcuts.
+
+# clear_all_shortcuts no
+
+#: You can have kitty remove all shortcut definition seen up to this
+#: point. Useful, for instance, to remove the default shortcuts.
+
+# kitten_alias hints hints --hints-offset=0
+
+#: You can create aliases for kitten names, this allows overriding the
+#: defaults for kitten options and can also be used to shorten
+#: repeated mappings of the same kitten with a specific group of
+#: options. For example, the above alias changes the default value of
+#: kitty +kitten hints --hints-offset to zero for all mappings,
+#: including the builtin ones.
+
+#: Clipboard {{{
+
+# map kitty_mod+c copy_to_clipboard
+
+#: There is also a copy_or_interrupt action that can be optionally
+#: mapped to Ctrl+c. It will copy only if there is a selection and
+#: send an interrupt otherwise. Similarly, copy_and_clear_or_interrupt
+#: will copy and clear the selection or send an interrupt if there is
+#: no selection.
+
+# map kitty_mod+v paste_from_clipboard
+# map kitty_mod+s paste_from_selection
+# map kitty_mod+o pass_selection_to_program
+
+#: You can also pass the contents of the current selection to any
+#: program using pass_selection_to_program. By default, the system's
+#: open program is used, but you can specify your own, the selection
+#: will be passed as a command line argument to the program, for
+#: example::
+
+#: map kitty_mod+o pass_selection_to_program firefox
+
+#: You can pass the current selection to a terminal program running in
+#: a new kitty window, by using the @selection placeholder::
+
+#: map kitty_mod+y new_window less @selection
+
+#: }}}
+
+#: Scrolling {{{
+
+# map kitty_mod+up scroll_line_up
+# map kitty_mod+down scroll_line_down
+# map kitty_mod+page_up scroll_page_up
+# map kitty_mod+page_down scroll_page_down
+# map kitty_mod+home scroll_home
+# map kitty_mod+end scroll_end
+# map kitty_mod+h show_scrollback
+
+#: You can pipe the contents of the current screen + history buffer as
+#: STDIN to an arbitrary program using the ``launch`` function. For
+#: example, the following opens the scrollback buffer in less in an
+#: overlay window::
+
+#: map f1 launch --stdin-source=@screen_scrollback --stdin-add-formatting --type=overlay less +G -R
+
+#: For more details on piping screen and buffer contents to external
+#: programs, see launch.
+
+#: }}}
+
+#: Window management {{{
+
+# map kitty_mod+enter new_window
+
+#: You can open a new window running an arbitrary program, for
+#: example::
+
+#: map kitty_mod+y launch mutt
+
+#: You can open a new window with the current working directory set to
+#: the working directory of the current window using::
+
+#: map ctrl+alt+enter launch --cwd=current
+
+#: You can open a new window that is allowed to control kitty via the
+#: kitty remote control facility by prefixing the command line with @.
+#: Any programs running in that window will be allowed to control
+#: kitty. For example::
+
+#: map ctrl+enter launch --allow-remote-control some_program
+
+#: You can open a new window next to the currently active window or as
+#: the first window, with::
+
+#: map ctrl+n launch --location=neighbor some_program
+#: map ctrl+f launch --location=first some_program
+
+#: For more details, see launch.
+
+# map kitty_mod+n new_os_window
+
+#: Works like new_window above, except that it opens a top level OS
+#: kitty window. In particular you can use new_os_window_with_cwd to
+#: open a window with the current working directory.
+
+# map kitty_mod+w close_window
+# map kitty_mod+] next_window
+# map kitty_mod+[ previous_window
+# map kitty_mod+f move_window_forward
+# map kitty_mod+b move_window_backward
+# map kitty_mod+` move_window_to_top
+# map kitty_mod+r start_resizing_window
+# map kitty_mod+1 first_window
+# map kitty_mod+2 second_window
+# map kitty_mod+3 third_window
+# map kitty_mod+4 fourth_window
+# map kitty_mod+5 fifth_window
+# map kitty_mod+6 sixth_window
+# map kitty_mod+7 seventh_window
+# map kitty_mod+8 eighth_window
+# map kitty_mod+9 ninth_window
+# map kitty_mod+0 tenth_window
+#: }}}
+
+#: Tab management {{{
+
+# map kitty_mod+right next_tab
+# map kitty_mod+left previous_tab
+# map kitty_mod+t new_tab
+# map kitty_mod+q close_tab
+# map shift+cmd+w close_os_window
+# map kitty_mod+. move_tab_forward
+# map kitty_mod+, move_tab_backward
+# map kitty_mod+alt+t set_tab_title
+
+#: You can also create shortcuts to go to specific tabs, with 1 being
+#: the first tab, 2 the second tab and -1 being the previously active
+#: tab, and any number larger than the last tab being the last tab::
+
+#: map ctrl+alt+1 goto_tab 1
+#: map ctrl+alt+2 goto_tab 2
+
+#: Just as with new_window above, you can also pass the name of
+#: arbitrary commands to run when using new_tab and use
+#: new_tab_with_cwd. Finally, if you want the new tab to open next to
+#: the current tab rather than at the end of the tabs list, use::
+
+#: map ctrl+t new_tab !neighbor [optional cmd to run]
+#: }}}
+
+#: Layout management {{{
+
+# map kitty_mod+l next_layout
+
+#: You can also create shortcuts to switch to specific layouts::
+
+#: map ctrl+alt+t goto_layout tall
+#: map ctrl+alt+s goto_layout stack
+
+#: Similarly, to switch back to the previous layout::
+
+#: map ctrl+alt+p last_used_layout
+
+#: There is also a toggle layout function that switches to the named
+#: layout or back to the previous layout if in the named layout.
+#: Useful to temporarily "zoom" the active window by switching to the
+#: stack layout::
+
+#: map ctrl+alt+z toggle_layout stack
+#: }}}
+
+#: Font sizes {{{
+
+#: You can change the font size for all top-level kitty OS windows at
+#: a time or only the current one.
+
+# map kitty_mod+equal change_font_size all +2.0
+# map kitty_mod+minus change_font_size all -2.0
+# map kitty_mod+backspace change_font_size all 0
+
+#: To setup shortcuts for specific font sizes::
+
+#: map kitty_mod+f6 change_font_size all 10.0
+
+#: To setup shortcuts to change only the current OS window's font
+#: size::
+
+#: map kitty_mod+f6 change_font_size current 10.0
+#: }}}
+
+#: Select and act on visible text {{{
+
+#: Use the hints kitten to select text and either pass it to an
+#: external program or insert it into the terminal or copy it to the
+#: clipboard.
+
+# map kitty_mod+e open_url_with_hints
+
+#: Open a currently visible URL using the keyboard. The program used
+#: to open the URL is specified in open_url_with.
+
+# map kitty_mod+p>f kitten hints --type path --program -
+
+#: Select a path/filename and insert it into the terminal. Useful, for
+#: instance to run git commands on a filename output from a previous
+#: git command.
+
+# map kitty_mod+p>shift+f kitten hints --type path
+
+#: Select a path/filename and open it with the default open program.
+
+# map kitty_mod+p>l kitten hints --type line --program -
+
+#: Select a line of text and insert it into the terminal. Use for the
+#: output of things like: ls -1
+
+# map kitty_mod+p>w kitten hints --type word --program -
+
+#: Select words and insert into terminal.
+
+# map kitty_mod+p>h kitten hints --type hash --program -
+
+#: Select something that looks like a hash and insert it into the
+#: terminal. Useful with git, which uses sha1 hashes to identify
+#: commits
+
+# map kitty_mod+p>n kitten hints --type linenum
+
+#: Select something that looks like filename:linenum and open it in
+#: vim at the specified line number.
+
+# map kitty_mod+p>y kitten hints --type hyperlink
+
+#: Select a hyperlink (i.e. a URL that has been marked as such by the
+#: terminal program, for example, by ls --hyperlink=auto).
+
+
+#: The hints kitten has many more modes of operation that you can map
+#: to different shortcuts. For a full description see kittens/hints.
+#: }}}
+
+#: Miscellaneous {{{
+
+# map kitty_mod+f11 toggle_fullscreen
+# map kitty_mod+f10 toggle_maximized
+# map kitty_mod+u kitten unicode_input
+# map kitty_mod+f2 edit_config_file
+# map kitty_mod+escape kitty_shell window
+
+#: Open the kitty shell in a new window/tab/overlay/os_window to
+#: control kitty using commands.
+
+# map kitty_mod+a>m set_background_opacity +0.1
+# map kitty_mod+a>l set_background_opacity -0.1
+# map kitty_mod+a>1 set_background_opacity 1
+# map kitty_mod+a>d set_background_opacity default
+# map kitty_mod+delete clear_terminal reset active
+
+#: You can create shortcuts to clear/reset the terminal. For example::
+
+#: # Reset the terminal
+#: map kitty_mod+f9 clear_terminal reset active
+#: # Clear the terminal screen by erasing all contents
+#: map kitty_mod+f10 clear_terminal clear active
+#: # Clear the terminal scrollback by erasing it
+#: map kitty_mod+f11 clear_terminal scrollback active
+#: # Scroll the contents of the screen into the scrollback
+#: map kitty_mod+f12 clear_terminal scroll active
+
+#: If you want to operate on all windows instead of just the current
+#: one, use all instead of active.
+
+#: It is also possible to remap Ctrl+L to both scroll the current
+#: screen contents into the scrollback buffer and clear the screen,
+#: instead of just clearing the screen, for example, for ZSH add the
+#: following to ~/.zshrc:
+
+#: .. code-block:: sh
+
+#: scroll-and-clear-screen() {
+#: printf '\n%.0s' {1..$LINES}
+#: zle clear-screen
+#: }
+#: zle -N scroll-and-clear-screen
+#: bindkey '^l' scroll-and-clear-screen
+
+# map kitty_mod+f5 load_config_file
+
+#: Reload kitty.conf, applying any changes since the last time it was
+#: loaded. Note that a handful of settings cannot be dynamically
+#: changed and require a full restart of kitty. You can also map a
+#: keybinding to load a different config file, for example::
+
+#: map f5 load_config /path/to/alternative/kitty.conf
+
+#: Note that all setting from the original kitty.conf are discarded,
+#: in other words the new conf settings *replace* the old ones.
+
+# map kitty_mod+f6 debug_config
+
+#: Show details about exactly what configuration kitty is running with
+#: and its host environment. Useful for debugging issues.
+
+
+#: You can tell kitty to send arbitrary (UTF-8) encoded text to the
+#: client program when pressing specified shortcut keys. For example::
+
+#: map ctrl+alt+a send_text all Special text
+
+#: This will send "Special text" when you press the ctrl+alt+a key
+#: combination. The text to be sent is a python string literal so you
+#: can use escapes like \x1b to send control codes or \u21fb to send
+#: unicode characters (or you can just input the unicode characters
+#: directly as UTF-8 text). The first argument to send_text is the
+#: keyboard modes in which to activate the shortcut. The possible
+#: values are normal or application or kitty or a comma separated
+#: combination of them. The special keyword all means all modes. The
+#: modes normal and application refer to the DECCKM cursor key mode
+#: for terminals, and kitty refers to the special kitty extended
+#: keyboard protocol.
+
+#: Another example, that outputs a word and then moves the cursor to
+#: the start of the line (same as pressing the Home key)::
+
+#: map ctrl+alt+a send_text normal Word\x1b[H
+#: map ctrl+alt+a send_text application Word\x1bOH
+
+#: }}}
+
+#: }}}
+#
+
+include ./theme.conf
diff --git a/parch-config-i3/src/etc/skel/.config/kitty/kitty.conf.bak b/parch-config-i3/src/etc/skel/.config/kitty/kitty.conf.bak
new file mode 100644
index 0000000..20d07f2
--- /dev/null
+++ b/parch-config-i3/src/etc/skel/.config/kitty/kitty.conf.bak
@@ -0,0 +1,1511 @@
+# vim:fileencoding=utf-8:foldmethod=marker
+
+#: Fonts {{{
+
+#: kitty has very powerful font management. You can configure
+#: individual font faces and even specify special fonts for particular
+#: characters.
+
+font_family monospace
+bold_font auto
+italic_font auto
+bold_italic_font auto
+
+#: You can specify different fonts for the bold/italic/bold-italic
+#: variants. To get a full list of supported fonts use the `kitty
+#: list-fonts` command. By default they are derived automatically, by
+#: the OSes font system. Setting them manually is useful for font
+#: families that have many weight variants like Book, Medium, Thick,
+#: etc. For example::
+
+#: font_family Operator Mono Book
+#: bold_font Operator Mono Medium
+#: italic_font Operator Mono Book Italic
+#: bold_italic_font Operator Mono Medium Italic
+
+# font_size 11.0
+
+#: Font size (in pts)
+
+# force_ltr no
+
+#: kitty does not support BIDI (bidirectional text), however, for RTL
+#: scripts, words are automatically displayed in RTL. That is to say,
+#: in an RTL script, the words "HELLO WORLD" display in kitty as
+#: "WORLD HELLO", and if you try to select a substring of an RTL-
+#: shaped string, you will get the character that would be there had
+#: the the string been LTR. For example, assuming the Hebrew word
+#: ירושלי×, selecting the character that on the screen appears to be ×
+#: actually writes into the selection buffer the character ×™. kitty's
+#: default behavior is useful in conjunction with a filter to reverse
+#: the word order, however, if you wish to manipulate RTL glyphs, it
+#: can be very challenging to work with, so this option is provided to
+#: turn it off. Furthermore, this option can be used with the command
+#: line program GNU FriBidi
+#: to get BIDI
+#: support, because it will force kitty to always treat the text as
+#: LTR, which FriBidi expects for terminals.
+
+# adjust_line_height 0
+# adjust_column_width 0
+
+#: Change the size of each character cell kitty renders. You can use
+#: either numbers, which are interpreted as pixels or percentages
+#: (number followed by %), which are interpreted as percentages of the
+#: unmodified values. You can use negative pixels or percentages less
+#: than 100% to reduce sizes (but this might cause rendering
+#: artifacts).
+
+# adjust_baseline 0
+
+#: Adjust the vertical alignment of text (the height in the cell at
+#: which text is positioned). You can use either numbers, which are
+#: interpreted as pixels or a percentages (number followed by %),
+#: which are interpreted as the percentage of the line height. A
+#: positive value moves the baseline up, and a negative value moves
+#: them down. The underline and strikethrough positions are adjusted
+#: accordingly.
+
+# symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 PowerlineSymbols
+
+#: Map the specified unicode codepoints to a particular font. Useful
+#: if you need special rendering for some symbols, such as for
+#: Powerline. Avoids the need for patched fonts. Each unicode code
+#: point is specified in the form U+. You
+#: can specify multiple code points, separated by commas and ranges
+#: separated by hyphens. symbol_map itself can be specified multiple
+#: times. Syntax is::
+
+#: symbol_map codepoints Font Family Name
+
+# disable_ligatures never
+
+#: Choose how you want to handle multi-character ligatures. The
+#: default is to always render them. You can tell kitty to not render
+#: them when the cursor is over them by using cursor to make editing
+#: easier, or have kitty never render them at all by using always, if
+#: you don't like them. The ligature strategy can be set per-window
+#: either using the kitty remote control facility or by defining
+#: shortcuts for it in kitty.conf, for example::
+
+#: map alt+1 disable_ligatures_in active always
+#: map alt+2 disable_ligatures_in all never
+#: map alt+3 disable_ligatures_in tab cursor
+
+#: Note that this refers to programming ligatures, typically
+#: implemented using the calt OpenType feature. For disabling general
+#: ligatures, use the font_features setting.
+
+# font_features none
+
+#: Choose exactly which OpenType features to enable or disable. This
+#: is useful as some fonts might have features worthwhile in a
+#: terminal. For example, Fira Code Retina includes a discretionary
+#: feature, zero, which in that font changes the appearance of the
+#: zero (0), to make it more easily distinguishable from Ø. Fira Code
+#: Retina also includes other discretionary features known as
+#: Stylistic Sets which have the tags ss01 through ss20.
+
+#: For the exact syntax to use for individual features, see the
+#: Harfbuzz documentation .
+
+#: Note that this code is indexed by PostScript name, and not the font
+#: family. This allows you to define very precise feature settings;
+#: e.g. you can disable a feature in the italic font but not in the
+#: regular font.
+
+#: On Linux, these are read from the FontConfig database first and
+#: then this, setting is applied, so they can be configured in a
+#: single, central place.
+
+#: To get the PostScript name for a font, use kitty + list-fonts
+#: --psnames:
+
+#: .. code-block:: sh
+
+#: $ kitty + list-fonts --psnames | grep Fira
+#: Fira Code
+#: Fira Code Bold (FiraCode-Bold)
+#: Fira Code Light (FiraCode-Light)
+#: Fira Code Medium (FiraCode-Medium)
+#: Fira Code Regular (FiraCode-Regular)
+#: Fira Code Retina (FiraCode-Retina)
+
+#: The part in brackets is the PostScript name.
+
+#: Enable alternate zero and oldstyle numerals::
+
+#: font_features FiraCode-Retina +zero +onum
+
+#: Enable only alternate zero::
+
+#: font_features FiraCode-Retina +zero
+
+#: Disable the normal ligatures, but keep the calt feature which (in
+#: this font) breaks up monotony::
+
+#: font_features TT2020StyleB-Regular -liga +calt
+
+#: In conjunction with force_ltr, you may want to disable Arabic
+#: shaping entirely, and only look at their isolated forms if they
+#: show up in a document. You can do this with e.g.::
+
+#: font_features UnifontMedium +isol -medi -fina -init
+
+# box_drawing_scale 0.001, 1, 1.5, 2
+
+#: Change the sizes of the lines used for the box drawing unicode
+#: characters These values are in pts. They will be scaled by the
+#: monitor DPI to arrive at a pixel value. There must be four values
+#: corresponding to thin, normal, thick, and very thick lines.
+
+#: }}}
+
+#: Cursor customization {{{
+
+# cursor #cccccc
+
+#: Default cursor color
+
+# cursor_text_color #111111
+
+#: Choose the color of text under the cursor. If you want it rendered
+#: with the background color of the cell underneath instead, use the
+#: special keyword: background
+
+# cursor_shape block
+
+#: The cursor shape can be one of (block, beam, underline). Note that
+#: when reloading the config this will be changed only if the cursor
+#: shape has not been set by the program running in the terminal.
+
+# cursor_beam_thickness 1.5
+
+#: Defines the thickness of the beam cursor (in pts)
+
+# cursor_underline_thickness 2.0
+
+#: Defines the thickness of the underline cursor (in pts)
+
+# cursor_blink_interval -1
+
+#: The interval (in seconds) at which to blink the cursor. Set to zero
+#: to disable blinking. Negative values mean use system default. Note
+#: that numbers smaller than repaint_delay will be limited to
+#: repaint_delay.
+
+# cursor_stop_blinking_after 15.0
+
+#: Stop blinking cursor after the specified number of seconds of
+#: keyboard inactivity. Set to zero to never stop blinking.
+
+#: }}}
+
+#: Scrollback {{{
+
+# scrollback_lines 2000
+
+#: Number of lines of history to keep in memory for scrolling back.
+#: Memory is allocated on demand. Negative numbers are (effectively)
+#: infinite scrollback. Note that using very large scrollback is not
+#: recommended as it can slow down performance of the terminal and
+#: also use large amounts of RAM. Instead, consider using
+#: scrollback_pager_history_size. Note that on config reload if this
+#: is changed it will only affect newly created windows, not existing
+#: ones.
+
+# scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER
+
+#: Program with which to view scrollback in a new window. The
+#: scrollback buffer is passed as STDIN to this program. If you change
+#: it, make sure the program you use can handle ANSI escape sequences
+#: for colors and text formatting. INPUT_LINE_NUMBER in the command
+#: line above will be replaced by an integer representing which line
+#: should be at the top of the screen. Similarly CURSOR_LINE and
+#: CURSOR_COLUMN will be replaced by the current cursor position.
+
+# scrollback_pager_history_size 0
+
+#: Separate scrollback history size, used only for browsing the
+#: scrollback buffer (in MB). This separate buffer is not available
+#: for interactive scrolling but will be piped to the pager program
+#: when viewing scrollback buffer in a separate window. The current
+#: implementation stores the data in UTF-8, so approximatively 10000
+#: lines per megabyte at 100 chars per line, for pure ASCII text,
+#: unformatted text. A value of zero or less disables this feature.
+#: The maximum allowed size is 4GB. Note that on config reload if this
+#: is changed it will only affect newly created windows, not existing
+#: ones.
+
+# scrollback_fill_enlarged_window no
+
+#: Fill new space with lines from the scrollback buffer after
+#: enlarging a window.
+
+# wheel_scroll_multiplier 5.0
+
+#: Modify the amount scrolled by the mouse wheel. Note this is only
+#: used for low precision scrolling devices, not for high precision
+#: scrolling on platforms such as macOS and Wayland. Use negative
+#: numbers to change scroll direction.
+
+# touch_scroll_multiplier 1.0
+
+#: Modify the amount scrolled by a touchpad. Note this is only used
+#: for high precision scrolling devices on platforms such as macOS and
+#: Wayland. Use negative numbers to change scroll direction.
+
+#: }}}
+
+#: Mouse {{{
+
+# mouse_hide_wait 3.0
+
+#: Hide mouse cursor after the specified number of seconds of the
+#: mouse not being used. Set to zero to disable mouse cursor hiding.
+#: Set to a negative value to hide the mouse cursor immediately when
+#: typing text. Disabled by default on macOS as getting it to work
+#: robustly with the ever-changing sea of bugs that is Cocoa is too
+#: much effort.
+
+# url_color #0087bd
+# url_style curly
+
+#: The color and style for highlighting URLs on mouse-over. url_style
+#: can be one of: none, single, double, curly
+
+# open_url_with default
+
+#: The program with which to open URLs that are clicked on. The
+#: special value default means to use the operating system's default
+#: URL handler.
+
+# url_prefixes http https file ftp gemini irc gopher mailto news git
+
+#: The set of URL prefixes to look for when detecting a URL under the
+#: mouse cursor.
+
+# detect_urls yes
+
+#: Detect URLs under the mouse. Detected URLs are highlighted with an
+#: underline and the mouse cursor becomes a hand over them. Even if
+#: this option is disabled, URLs are still clickable.
+
+# url_excluded_characters
+
+#: Additional characters to be disallowed from URLs, when detecting
+#: URLs under the mouse cursor. By default, all characters legal in
+#: URLs are allowed.
+
+# copy_on_select no
+
+#: Copy to clipboard or a private buffer on select. With this set to
+#: clipboard, simply selecting text with the mouse will cause the text
+#: to be copied to clipboard. Useful on platforms such as macOS that
+#: do not have the concept of primary selections. You can instead
+#: specify a name such as a1 to copy to a private kitty buffer
+#: instead. Map a shortcut with the paste_from_buffer action to paste
+#: from this private buffer. For example::
+
+#: map cmd+shift+v paste_from_buffer a1
+
+#: Note that copying to the clipboard is a security risk, as all
+#: programs, including websites open in your browser can read the
+#: contents of the system clipboard.
+
+# strip_trailing_spaces never
+
+#: Remove spaces at the end of lines when copying to clipboard. A
+#: value of smart will do it when using normal selections, but not
+#: rectangle selections. always will always do it.
+
+# select_by_word_characters @-./_~?&=%+#
+
+#: Characters considered part of a word when double clicking. In
+#: addition to these characters any character that is marked as an
+#: alphanumeric character in the unicode database will be matched.
+
+# click_interval -1.0
+
+#: The interval between successive clicks to detect double/triple
+#: clicks (in seconds). Negative numbers will use the system default
+#: instead, if available, or fallback to 0.5.
+
+# focus_follows_mouse no
+
+#: Set the active window to the window under the mouse when moving the
+#: mouse around
+
+# pointer_shape_when_grabbed arrow
+
+#: The shape of the mouse pointer when the program running in the
+#: terminal grabs the mouse. Valid values are: arrow, beam and hand
+
+# default_pointer_shape beam
+
+#: The default shape of the mouse pointer. Valid values are: arrow,
+#: beam and hand
+
+# pointer_shape_when_dragging beam
+
+#: The default shape of the mouse pointer when dragging across text.
+#: Valid values are: arrow, beam and hand
+
+#: Mouse actions {{{
+
+#: Mouse buttons can be remapped to perform arbitrary actions. The
+#: syntax for doing so is:
+
+#: .. code-block:: none
+
+#: mouse_map button-name event-type modes action
+
+#: Where ``button-name`` is one of ``left``, ``middle``, ``right`` or
+#: ``b1 ... b8`` with added keyboard modifiers, for example:
+#: ``ctrl+shift+left`` refers to holding the ctrl+shift keys while
+#: clicking with the left mouse button. The number ``b1 ... b8`` can
+#: be used to refer to upto eight buttons on a mouse.
+
+#: ``event-type`` is one ``press``, ``release``, ``doublepress``,
+#: ``triplepress``, ``click`` and ``doubleclick``. ``modes``
+#: indicates whether the action is performed when the mouse is grabbed
+#: by the program running in the terminal, or not. It can have one or
+#: more or the values, ``grabbed,ungrabbed``. ``grabbed`` refers to
+#: when the program running in the terminal has requested mouse
+#: events. Note that the click and double click events have a delay of
+#: click_interval to disambiguate from double and triple presses.
+
+#: You can run kitty with the kitty --debug-input command line option
+#: to see mouse events. See the builtin actions below to get a sense
+#: of what is possible.
+
+#: If you want to unmap an action map it to ``no-op``. For example, to
+#: disable opening of URLs with a plain click::
+
+#: mouse_map left click ungrabbed no-op
+
+#: .. note::
+#: Once a selection is started, releasing the button that started it will
+#: automatically end it and no release event will be dispatched.
+
+# clear_all_mouse_actions no
+
+#: You can have kitty remove all mouse actions seen up to this point.
+#: Useful, for instance, to remove the default mouse actions.
+
+# mouse_map left click ungrabbed mouse_click_url_or_select
+# mouse_map shift+left click grabbed,ungrabbed mouse_click_url_or_select
+# mouse_map ctrl+shift+left release grabbed,ungrabbed mouse_click_url
+
+#: Variant with ctrl+shift is present because the simple click based
+#: version has an unavoidable delay of click_interval, to disambiguate
+#: clicks from double clicks.
+
+# mouse_map ctrl+shift+left press grabbed discard_event
+
+#: Prevent this press event from being sent to the program that has
+#: grabbed the mouse, as the corresponding release event is used to
+#: open a URL.
+
+# mouse_map middle release ungrabbed paste_from_selection
+# mouse_map left press ungrabbed mouse_selection normal
+# mouse_map ctrl+alt+left press ungrabbed mouse_selection rectangle
+# mouse_map left doublepress ungrabbed mouse_selection word
+# mouse_map left triplepress ungrabbed mouse_selection line
+
+#: Select the entire line
+
+# mouse_map ctrl+alt+left triplepress ungrabbed mouse_selection line_from_point
+
+#: Select from the clicked point to the end of the line
+
+# mouse_map right press ungrabbed mouse_selection extend
+
+#: If you want only the end of the selection to be moved instead of
+#: the nearest boundary, use move-end instead of extend.
+
+# mouse_map shift+middle release ungrabbed,grabbed paste_selection
+# mouse_map shift+left press ungrabbed,grabbed mouse_selection normal
+# mouse_map shift+ctrl+alt+left press ungrabbed,grabbed mouse_selection rectangle
+# mouse_map shift+left doublepress ungrabbed,grabbed mouse_selection word
+# mouse_map shift+left triplepress ungrabbed,grabbed mouse_selection line
+
+#: Select the entire line
+
+# mouse_map shift+ctrl+alt+left triplepress ungrabbed,grabbed mouse_selection line_from_point
+
+#: Select from the clicked point to the end of the line
+
+# mouse_map shift+right press ungrabbed,grabbed mouse_selection extend
+#: }}}
+
+#: }}}
+
+#: Performance tuning {{{
+
+# repaint_delay 10
+
+#: Delay (in milliseconds) between screen updates. Decreasing it,
+#: increases frames-per-second (FPS) at the cost of more CPU usage.
+#: The default value yields ~100 FPS which is more than sufficient for
+#: most uses. Note that to actually achieve 100 FPS you have to either
+#: set sync_to_monitor to no or use a monitor with a high refresh
+#: rate. Also, to minimize latency when there is pending input to be
+#: processed, repaint_delay is ignored.
+
+# input_delay 3
+
+#: Delay (in milliseconds) before input from the program running in
+#: the terminal is processed. Note that decreasing it will increase
+#: responsiveness, but also increase CPU usage and might cause flicker
+#: in full screen programs that redraw the entire screen on each loop,
+#: because kitty is so fast that partial screen updates will be drawn.
+
+# sync_to_monitor yes
+
+#: Sync screen updates to the refresh rate of the monitor. This
+#: prevents tearing (https://en.wikipedia.org/wiki/Screen_tearing)
+#: when scrolling. However, it limits the rendering speed to the
+#: refresh rate of your monitor. With a very high speed mouse/high
+#: keyboard repeat rate, you may notice some slight input latency. If
+#: so, set this to no.
+
+#: }}}
+
+#: Terminal bell {{{
+
+# enable_audio_bell yes
+
+#: Enable/disable the audio bell. Useful in environments that require
+#: silence.
+
+# visual_bell_duration 0.0
+
+#: Visual bell duration. Flash the screen when a bell occurs for the
+#: specified number of seconds. Set to zero to disable.
+
+# window_alert_on_bell yes
+
+#: Request window attention on bell. Makes the dock icon bounce on
+#: macOS or the taskbar flash on linux.
+
+# bell_on_tab yes
+
+#: Show a bell symbol on the tab if a bell occurs in one of the
+#: windows in the tab and the window is not the currently focused
+#: window
+
+# command_on_bell none
+
+#: Program to run when a bell occurs. The environment variable
+#: KITTY_CHILD_CMDLINE can be used to get the program running in the
+#: window in which the bell occurred.
+
+#: }}}
+
+#: Window layout {{{
+
+# remember_window_size yes
+# initial_window_width 640
+# initial_window_height 400
+
+#: If enabled, the window size will be remembered so that new
+#: instances of kitty will have the same size as the previous
+#: instance. If disabled, the window will initially have size
+#: configured by initial_window_width/height, in pixels. You can use a
+#: suffix of "c" on the width/height values to have them interpreted
+#: as number of cells instead of pixels.
+
+# enabled_layouts *
+
+#: The enabled window layouts. A comma separated list of layout names.
+#: The special value all means all layouts. The first listed layout
+#: will be used as the startup layout. Default configuration is all
+#: layouts in alphabetical order. For a list of available layouts, see
+#: the https://sw.kovidgoyal.net/kitty/overview/#layouts.
+
+# window_resize_step_cells 2
+# window_resize_step_lines 2
+
+#: The step size (in units of cell width/cell height) to use when
+#: resizing windows. The cells value is used for horizontal resizing
+#: and the lines value for vertical resizing.
+
+# window_border_width 0.5pt
+
+#: The width of window borders. Can be either in pixels (px) or pts
+#: (pt). Values in pts will be rounded to the nearest number of pixels
+#: based on screen resolution. If not specified the unit is assumed to
+#: be pts. Note that borders are displayed only when more than one
+#: window is visible. They are meant to separate multiple windows.
+
+# draw_minimal_borders yes
+
+#: Draw only the minimum borders needed. This means that only the
+#: minimum needed borders for inactive windows are drawn. That is only
+#: the borders that separate the inactive window from a neighbor. Note
+#: that setting a non-zero window margin overrides this and causes all
+#: borders to be drawn.
+
+# window_margin_width 0
+
+#: The window margin (in pts) (blank area outside the border). A
+#: single value sets all four sides. Two values set the vertical and
+#: horizontal sides. Three values set top, horizontal and bottom. Four
+#: values set top, right, bottom and left.
+
+# single_window_margin_width -1
+
+#: The window margin (in pts) to use when only a single window is
+#: visible. Negative values will cause the value of
+#: window_margin_width to be used instead. A single value sets all
+#: four sides. Two values set the vertical and horizontal sides. Three
+#: values set top, horizontal and bottom. Four values set top, right,
+#: bottom and left.
+
+# window_padding_width 0
+
+#: The window padding (in pts) (blank area between the text and the
+#: window border). A single value sets all four sides. Two values set
+#: the vertical and horizontal sides. Three values set top, horizontal
+#: and bottom. Four values set top, right, bottom and left.
+
+# placement_strategy center
+
+#: When the window size is not an exact multiple of the cell size, the
+#: cell area of the terminal window will have some extra padding on
+#: the sides. You can control how that padding is distributed with
+#: this option. Using a value of center means the cell area will be
+#: placed centrally. A value of top-left means the padding will be on
+#: only the bottom and right edges.
+
+# active_border_color #00ff00
+
+#: The color for the border of the active window. Set this to none to
+#: not draw borders around the active window.
+
+# inactive_border_color #cccccc
+
+#: The color for the border of inactive windows
+
+# bell_border_color #ff5a00
+
+#: The color for the border of inactive windows in which a bell has
+#: occurred
+
+# inactive_text_alpha 1.0
+
+#: Fade the text in inactive windows by the specified amount (a number
+#: between zero and one, with zero being fully faded).
+
+# hide_window_decorations no
+
+#: Hide the window decorations (title-bar and window borders) with
+#: yes. On macOS, titlebar-only can be used to only hide the titlebar.
+#: Whether this works and exactly what effect it has depends on the
+#: window manager/operating system. Note that the effects of changing
+#: this setting when reloading config are undefined.
+
+# resize_debounce_time 0.1
+
+#: The time (in seconds) to wait before redrawing the screen when a
+#: resize event is received. On platforms such as macOS, where the
+#: operating system sends events corresponding to the start and end of
+#: a resize, this number is ignored.
+
+# resize_draw_strategy static
+
+#: Choose how kitty draws a window while a resize is in progress. A
+#: value of static means draw the current window contents, mostly
+#: unchanged. A value of scale means draw the current window contents
+#: scaled. A value of blank means draw a blank window. A value of size
+#: means show the window size in cells.
+
+# resize_in_steps no
+
+#: Resize the OS window in steps as large as the cells, instead of
+#: with the usual pixel accuracy. Combined with an
+#: initial_window_width and initial_window_height in number of cells,
+#: this option can be used to keep the margins as small as possible
+#: when resizing the OS window. Note that this does not currently work
+#: on Wayland.
+
+# confirm_os_window_close 0
+
+#: Ask for confirmation when closing an OS window or a tab that has at
+#: least this number of kitty windows in it. A value of zero disables
+#: confirmation. This confirmation also applies to requests to quit
+#: the entire application (all OS windows, via the quit action).
+
+#: }}}
+
+#: Tab bar {{{
+
+# tab_bar_edge bottom
+
+#: Which edge to show the tab bar on, top or bottom
+
+# tab_bar_margin_width 0.0
+
+#: The margin to the left and right of the tab bar (in pts)
+
+# tab_bar_margin_height 0.0 0.0
+
+#: The margin above and below the tab bar (in pts). The first number
+#: is the margin between the edge of the OS Window and the tab bar and
+#: the second number is the margin between the tab bar and the
+#: contents of the current tab.
+
+# tab_bar_style fade
+
+#: The tab bar style, can be one of:
+
+#: fade
+#: Each tab's edges fade into the background color (see tab_fade)
+#: slant
+#: Tabs look like the tabs in a physical file
+#: separator
+#: Tabs are separated by a configurable separator (see tab_separator)
+#: powerline
+#: Tabs are shown as a continuous line with "fancy" separators (see tab_powerline_style)
+#: hidden
+#: The tab bar is hidden. If you use this, you might want to create a mapping
+#: for the https://sw.kovidgoyal.net/kitty/actions/#select-tab action which presents you with a list
+#: of tabs and allows for easy switching to a tab.
+
+# tab_bar_min_tabs 2
+
+#: The minimum number of tabs that must exist before the tab bar is
+#: shown
+
+# tab_switch_strategy previous
+
+#: The algorithm to use when switching to a tab when the current tab
+#: is closed. The default of previous will switch to the last used
+#: tab. A value of left will switch to the tab to the left of the
+#: closed tab. A value of right will switch to the tab to the right of
+#: the closed tab. A value of last will switch to the right-most tab.
+
+# tab_fade 0.25 0.5 0.75 1
+
+#: Control how each tab fades into the background when using fade for
+#: the tab_bar_style. Each number is an alpha (between zero and one)
+#: that controls how much the corresponding cell fades into the
+#: background, with zero being no fade and one being full fade. You
+#: can change the number of cells used by adding/removing entries to
+#: this list.
+
+# tab_separator " ┇"
+
+#: The separator between tabs in the tab bar when using separator as
+#: the tab_bar_style.
+
+# tab_powerline_style angled
+
+#: The powerline separator style between tabs in the tab bar when
+#: using powerline as the tab_bar_style, can be one of: angled,
+#: slanted, or round.
+
+# tab_activity_symbol none
+
+#: Some text or a unicode symbol to show on the tab if a window in the
+#: tab that does not have focus has some activity. If you want to use
+#: leading or trailing spaces surround the text with quotes.
+
+# tab_title_template "{title}"
+
+#: A template to render the tab title. The default just renders the
+#: title. If you wish to include the tab-index as well, use something
+#: like: {index}: {title}. Useful if you have shortcuts mapped for
+#: goto_tab N. If you prefer to see the index as a superscript, use
+#: {sup.index}. In addition you can use {layout_name} for the current
+#: layout name, {num_windows} for the number of windows in the tab and
+#: {num_window_groups} for the number of window groups (not counting
+#: overlay windows) in the tab. Note that formatting is done by
+#: Python's string formatting machinery, so you can use, for instance,
+#: {layout_name[:2].upper()} to show only the first two letters of the
+#: layout name, upper-cased. If you want to style the text, you can
+#: use styling directives, for example:
+#: {fmt.fg.red}red{fmt.fg.default}normal{fmt.bg._00FF00}green
+#: bg{fmt.bg.normal}. Similarly, for bold and italic:
+#: {fmt.bold}bold{fmt.nobold}normal{fmt.italic}italic{fmt.noitalic}.
+
+# active_tab_title_template none
+
+#: Template to use for active tabs, if not specified falls back to
+#: tab_title_template.
+
+# active_tab_foreground #000
+# active_tab_background #eee
+# active_tab_font_style bold-italic
+# inactive_tab_foreground #444
+# inactive_tab_background #999
+# inactive_tab_font_style normal
+
+#: Tab bar colors and styles
+
+# tab_bar_background none
+
+#: Background color for the tab bar. Defaults to using the terminal
+#: background color.
+
+#: }}}
+
+#: Color scheme {{{
+
+# foreground #dddddd
+# background #000000
+
+#: The foreground and background colors
+
+# background_opacity 1.0
+
+#: The opacity of the background. A number between 0 and 1, where 1 is
+#: opaque and 0 is fully transparent. This will only work if
+#: supported by the OS (for instance, when using a compositor under
+#: X11). Note that it only sets the background color's opacity in
+#: cells that have the same background color as the default terminal
+#: background. This is so that things like the status bar in vim,
+#: powerline prompts, etc. still look good. But it means that if you
+#: use a color theme with a background color in your editor, it will
+#: not be rendered as transparent. Instead you should change the
+#: default background color in your kitty config and not use a
+#: background color in the editor color scheme. Or use the escape
+#: codes to set the terminals default colors in a shell script to
+#: launch your editor. Be aware that using a value less than 1.0 is a
+#: (possibly significant) performance hit. If you want to dynamically
+#: change transparency of windows set dynamic_background_opacity to
+#: yes (this is off by default as it has a performance cost). Changing
+#: this setting when reloading the config will only work if
+#: dynamic_background_opacity was enabled in the original config.
+
+# background_image none
+
+#: Path to a background image. Must be in PNG format.
+
+# background_image_layout tiled
+
+#: Whether to tile or scale the background image.
+
+# background_image_linear no
+
+#: When background image is scaled, whether linear interpolation
+#: should be used.
+
+# dynamic_background_opacity no
+
+#: Allow changing of the background_opacity dynamically, using either
+#: keyboard shortcuts (increase_background_opacity and
+#: decrease_background_opacity) or the remote control facility.
+#: Changing this setting by reloading the config is not supported.
+
+# background_tint 0.0
+
+#: How much to tint the background image by the background color. The
+#: tint is applied only under the text area, not margin/borders. Makes
+#: it easier to read the text. Tinting is done using the current
+#: background color for each window. This setting applies only if
+#: background_opacity is set and transparent windows are supported or
+#: background_image is set.
+
+# dim_opacity 0.75
+
+#: How much to dim text that has the DIM/FAINT attribute set. One
+#: means no dimming and zero means fully dimmed (i.e. invisible).
+
+# selection_foreground #000000
+
+#: The foreground for text selected with the mouse. A value of none
+#: means to leave the color unchanged.
+
+# selection_background #fffacd
+
+#: The background for text selected with the mouse.
+
+#: The color table {{{
+
+#: The 256 terminal colors. There are 8 basic colors, each color has a
+#: dull and bright version, for the first 16 colors. You can set the
+#: remaining 240 colors as color16 to color255.
+
+# color0 #000000
+# color8 #767676
+
+#: black
+
+# color1 #cc0403
+# color9 #f2201f
+
+#: red
+
+# color2 #19cb00
+# color10 #23fd00
+
+#: green
+
+# color3 #cecb00
+# color11 #fffd00
+
+#: yellow
+
+# color4 #0d73cc
+# color12 #1a8fff
+
+#: blue
+
+# color5 #cb1ed1
+# color13 #fd28ff
+
+#: magenta
+
+# color6 #0dcdcd
+# color14 #14ffff
+
+#: cyan
+
+# color7 #dddddd
+# color15 #ffffff
+
+#: white
+
+# mark1_foreground black
+
+#: Color for marks of type 1
+
+# mark1_background #98d3cb
+
+#: Color for marks of type 1 (light steel blue)
+
+# mark2_foreground black
+
+#: Color for marks of type 2
+
+# mark2_background #f2dcd3
+
+#: Color for marks of type 1 (beige)
+
+# mark3_foreground black
+
+#: Color for marks of type 3
+
+# mark3_background #f274bc
+
+#: Color for marks of type 3 (violet)
+
+#: }}}
+
+#: }}}
+
+#: Advanced {{{
+
+# shell .
+
+#: The shell program to execute. The default value of . means to use
+#: whatever shell is set as the default shell for the current user.
+#: Note that on macOS if you change this, you might need to add
+#: --login and --interactive to ensure that the shell starts in
+#: interactive mode and reads its startup rc files.
+
+# editor .
+
+#: The terminal editor (such as ``vim`` or ``nano``) to use when
+#: editing the kitty config file or similar tasks.
+
+#: The default value of . means to use the environment variables
+#: VISUAL and EDITOR in that order. If these variables aren't set,
+#: kitty will run your shell (``$SHELL -l -i -c env``) to see if your
+#: shell config files set VISUAL or EDITOR. If that doesn't work,
+#: kitty will cycle through various known editors (``vim``, ``emacs``,
+#: etc) and take the first one that exists on your system.
+
+# close_on_child_death no
+
+#: Close the window when the child process (shell) exits. If no (the
+#: default), the terminal will remain open when the child exits as
+#: long as there are still processes outputting to the terminal (for
+#: example disowned or backgrounded processes). If yes, the window
+#: will close as soon as the child process exits. Note that setting it
+#: to yes means that any background processes still using the terminal
+#: can fail silently because their stdout/stderr/stdin no longer work.
+
+allow_remote_control yes
+
+#: Allow other programs to control kitty. If you turn this on other
+#: programs can control all aspects of kitty, including sending text
+#: to kitty windows, opening new windows, closing windows, reading the
+#: content of windows, etc. Note that this even works over ssh
+#: connections. You can chose to either allow any program running
+#: within kitty to control it, with yes or only programs that connect
+#: to the socket specified with the kitty --listen-on command line
+#: option, if you use the value socket-only. The latter is useful if
+#: you want to prevent programs running on a remote computer over ssh
+#: from controlling kitty. Reloading the config will not affect this
+#: setting.
+
+# listen_on none
+
+#: Tell kitty to listen to the specified unix/tcp socket for remote
+#: control connections. Note that this will apply to all kitty
+#: instances. It can be overridden by the kitty --listen-on command
+#: line flag. This option accepts only UNIX sockets, such as
+#: unix:${TEMP}/mykitty or (on Linux) unix:@mykitty. Environment
+#: variables are expanded. If {kitty_pid} is present then it is
+#: replaced by the PID of the kitty process, otherwise the PID of the
+#: kitty process is appended to the value, with a hyphen. This option
+#: is ignored unless you also set allow_remote_control to enable
+#: remote control. See the help for kitty --listen-on for more
+#: details. Changing this option by reloading the config is not
+#: supported.
+
+# env
+
+#: Specify environment variables to set in all child processes. Note
+#: that environment variables are expanded recursively, so if you
+#: use::
+
+#: env MYVAR1=a
+#: env MYVAR2=${MYVAR1}/${HOME}/b
+
+#: The value of MYVAR2 will be a//b.
+
+# update_check_interval 24
+
+#: Periodically check if an update to kitty is available. If an update
+#: is found a system notification is displayed informing you of the
+#: available update. The default is to check every 24 hrs, set to zero
+#: to disable. Changing this option by reloading the config is not
+#: supported.
+
+# startup_session none
+
+#: Path to a session file to use for all kitty instances. Can be
+#: overridden by using the kitty --session command line option for
+#: individual instances. See
+#: https://sw.kovidgoyal.net/kitty/overview/#startup-sessions in the
+#: kitty documentation for details. Note that relative paths are
+#: interpreted with respect to the kitty config directory. Environment
+#: variables in the path are expanded. Changing this option by
+#: reloading the config is not supported.
+
+# clipboard_control write-clipboard write-primary
+
+#: Allow programs running in kitty to read and write from the
+#: clipboard. You can control exactly which actions are allowed. The
+#: set of possible actions is: write-clipboard read-clipboard write-
+#: primary read-primary. The default is to allow writing to the
+#: clipboard and primary selection. Note that enabling the read
+#: functionality is a security risk as it means that any program, even
+#: one running on a remote server via SSH can read your clipboard. See
+#: also clipboard_max_size.
+
+# clipboard_max_size 64
+
+#: The maximum size (in MB) of data from programs running in kitty
+#: that will be stored for writing to the system clipboard. See also
+#: clipboard_control. A value of zero means no size limit is applied.
+
+# allow_hyperlinks yes
+
+#: Process hyperlink (OSC 8) escape sequences. If disabled OSC 8
+#: escape sequences are ignored. Otherwise they become clickable
+#: links, that you can click by holding down ctrl+shift and clicking
+#: with the mouse. The special value of ``ask`` means that kitty will
+#: ask before opening the link.
+
+# term xterm-kitty
+
+#: The value of the TERM environment variable to set. Changing this
+#: can break many terminal programs, only change it if you know what
+#: you are doing, not because you read some advice on Stack Overflow
+#: to change it. The TERM variable is used by various programs to get
+#: information about the capabilities and behavior of the terminal. If
+#: you change it, depending on what programs you run, and how
+#: different the terminal you are changing it to is, various things
+#: from key-presses, to colors, to various advanced features may not
+#: work. Changing this option by reloading the config will only affect
+#: newly created windows.
+
+#: }}}
+
+#: OS specific tweaks {{{
+
+# wayland_titlebar_color system
+
+#: Change the color of the kitty window's titlebar on Wayland systems
+#: with client side window decorations such as GNOME. A value of
+#: system means to use the default system color, a value of background
+#: means to use the background color of the currently active window
+#: and finally you can use an arbitrary color, such as #12af59 or red.
+
+# macos_titlebar_color system
+
+#: Change the color of the kitty window's titlebar on macOS. A value
+#: of system means to use the default system color, a value of
+#: background means to use the background color of the currently
+#: active window and finally you can use an arbitrary color, such as
+#: #12af59 or red. WARNING: This option works by using a hack, as
+#: there is no proper Cocoa API for it. It sets the background color
+#: of the entire window and makes the titlebar transparent. As such it
+#: is incompatible with background_opacity. If you want to use both,
+#: you are probably better off just hiding the titlebar with
+#: hide_window_decorations.
+
+# macos_option_as_alt no
+
+#: Use the option key as an alt key. With this set to no, kitty will
+#: use the macOS native Option+Key = unicode character behavior. This
+#: will break any Alt+key keyboard shortcuts in your terminal
+#: programs, but you can use the macOS unicode input technique. You
+#: can use the values: left, right, or both to use only the left,
+#: right or both Option keys as Alt, instead. Changing this setting by
+#: reloading the config is not supported.
+
+# macos_hide_from_tasks no
+
+#: Hide the kitty window from running tasks (⌘+Tab) on macOS. Changing
+#: this setting by reloading the config is not supported.
+
+# macos_quit_when_last_window_closed no
+
+#: Have kitty quit when all the top-level windows are closed. By
+#: default, kitty will stay running, even with no open windows, as is
+#: the expected behavior on macOS.
+
+# macos_window_resizable yes
+
+#: Disable this if you want kitty top-level (OS) windows to not be
+#: resizable on macOS. Changing this setting by reloading the config
+#: will only affect newly created windows.
+
+# macos_thicken_font 0
+
+#: Draw an extra border around the font with the given width, to
+#: increase legibility at small font sizes. For example, a value of
+#: 0.75 will result in rendering that looks similar to sub-pixel
+#: antialiasing at common font sizes.
+
+# macos_traditional_fullscreen no
+
+#: Use the traditional full-screen transition, that is faster, but
+#: less pretty.
+
+# macos_show_window_title_in all
+
+#: Show or hide the window title in the macOS window or menu-bar. A
+#: value of window will show the title of the currently active window
+#: at the top of the macOS window. A value of menubar will show the
+#: title of the currently active window in the macOS menu-bar, making
+#: use of otherwise wasted space. all will show the title everywhere
+#: and none hides the title in the window and the menu-bar.
+
+# macos_custom_beam_cursor no
+
+#: Enable/disable custom mouse cursor for macOS that is easier to see
+#: on both light and dark backgrounds. WARNING: this might make your
+#: mouse cursor invisible on dual GPU machines. Changing this setting
+#: by reloading the config is not supported.
+
+# linux_display_server auto
+
+#: Choose between Wayland and X11 backends. By default, an appropriate
+#: backend based on the system state is chosen automatically. Set it
+#: to x11 or wayland to force the choice. Changing this setting by
+#: reloading the config is not supported.
+
+#: }}}
+
+#: Keyboard shortcuts {{{
+
+#: Keys are identified simply by their lowercase unicode characters.
+#: For example: ``a`` for the A key, ``[`` for the left square bracket
+#: key, etc. For functional keys, such as ``Enter or Escape`` the
+#: names are present at https://sw.kovidgoyal.net/kitty/keyboard-
+#: protocol/#functional-key-definitions. For a list of modifier names,
+#: see: GLFW mods
+
+#: On Linux you can also use XKB key names to bind keys that are not
+#: supported by GLFW. See XKB keys
+#: for a list of key names. The name to use is the part
+#: after the XKB_KEY_ prefix. Note that you can only use an XKB key
+#: name for keys that are not known as GLFW keys.
+
+#: Finally, you can use raw system key codes to map keys, again only
+#: for keys that are not known as GLFW keys. To see the system key
+#: code for a key, start kitty with the kitty --debug-input option.
+#: Then kitty will output some debug text for every key event. In that
+#: text look for ``native_code`` the value of that becomes the key
+#: name in the shortcut. For example:
+
+#: .. code-block:: none
+
+#: on_key_input: glfw key: 65 native_code: 0x61 action: PRESS mods: 0x0 text: 'a'
+
+#: Here, the key name for the A key is 0x61 and you can use it with::
+
+#: map ctrl+0x61 something
+
+#: to map ctrl+a to something.
+
+#: You can use the special action no_op to unmap a keyboard shortcut
+#: that is assigned in the default configuration::
+
+#: map kitty_mod+space no_op
+
+#: You can combine multiple actions to be triggered by a single
+#: shortcut, using the syntax below::
+
+#: map key combine action1 action2 action3 ...
+
+#: For example::
+
+#: map kitty_mod+e combine : new_window : next_layout
+
+#: this will create a new window and switch to the next available
+#: layout
+
+#: You can use multi-key shortcuts using the syntax shown below::
+
+#: map key1>key2>key3 action
+
+#: For example::
+
+#: map ctrl+f>2 set_font_size 20
+
+#: The full list of actions that can be mapped to key presses is
+#: available here .
+
+# kitty_mod ctrl+shift
+
+#: The value of kitty_mod is used as the modifier for all default
+#: shortcuts, you can change it in your kitty.conf to change the
+#: modifiers for all the default shortcuts.
+
+# clear_all_shortcuts no
+
+#: You can have kitty remove all shortcut definition seen up to this
+#: point. Useful, for instance, to remove the default shortcuts.
+
+# kitten_alias hints hints --hints-offset=0
+
+#: You can create aliases for kitten names, this allows overriding the
+#: defaults for kitten options and can also be used to shorten
+#: repeated mappings of the same kitten with a specific group of
+#: options. For example, the above alias changes the default value of
+#: kitty +kitten hints --hints-offset to zero for all mappings,
+#: including the builtin ones.
+
+#: Clipboard {{{
+
+# map kitty_mod+c copy_to_clipboard
+
+#: There is also a copy_or_interrupt action that can be optionally
+#: mapped to Ctrl+c. It will copy only if there is a selection and
+#: send an interrupt otherwise. Similarly, copy_and_clear_or_interrupt
+#: will copy and clear the selection or send an interrupt if there is
+#: no selection.
+
+# map kitty_mod+v paste_from_clipboard
+# map kitty_mod+s paste_from_selection
+# map kitty_mod+o pass_selection_to_program
+
+#: You can also pass the contents of the current selection to any
+#: program using pass_selection_to_program. By default, the system's
+#: open program is used, but you can specify your own, the selection
+#: will be passed as a command line argument to the program, for
+#: example::
+
+#: map kitty_mod+o pass_selection_to_program firefox
+
+#: You can pass the current selection to a terminal program running in
+#: a new kitty window, by using the @selection placeholder::
+
+#: map kitty_mod+y new_window less @selection
+
+#: }}}
+
+#: Scrolling {{{
+
+# map kitty_mod+up scroll_line_up
+# map kitty_mod+down scroll_line_down
+# map kitty_mod+page_up scroll_page_up
+# map kitty_mod+page_down scroll_page_down
+# map kitty_mod+home scroll_home
+# map kitty_mod+end scroll_end
+# map kitty_mod+h show_scrollback
+
+#: You can pipe the contents of the current screen + history buffer as
+#: STDIN to an arbitrary program using the ``launch`` function. For
+#: example, the following opens the scrollback buffer in less in an
+#: overlay window::
+
+#: map f1 launch --stdin-source=@screen_scrollback --stdin-add-formatting --type=overlay less +G -R
+
+#: For more details on piping screen and buffer contents to external
+#: programs, see launch.
+
+#: }}}
+
+#: Window management {{{
+
+# map kitty_mod+enter new_window
+
+#: You can open a new window running an arbitrary program, for
+#: example::
+
+#: map kitty_mod+y launch mutt
+
+#: You can open a new window with the current working directory set to
+#: the working directory of the current window using::
+
+#: map ctrl+alt+enter launch --cwd=current
+
+#: You can open a new window that is allowed to control kitty via the
+#: kitty remote control facility by prefixing the command line with @.
+#: Any programs running in that window will be allowed to control
+#: kitty. For example::
+
+#: map ctrl+enter launch --allow-remote-control some_program
+
+#: You can open a new window next to the currently active window or as
+#: the first window, with::
+
+#: map ctrl+n launch --location=neighbor some_program
+#: map ctrl+f launch --location=first some_program
+
+#: For more details, see launch.
+
+# map kitty_mod+n new_os_window
+
+#: Works like new_window above, except that it opens a top level OS
+#: kitty window. In particular you can use new_os_window_with_cwd to
+#: open a window with the current working directory.
+
+# map kitty_mod+w close_window
+# map kitty_mod+] next_window
+# map kitty_mod+[ previous_window
+# map kitty_mod+f move_window_forward
+# map kitty_mod+b move_window_backward
+# map kitty_mod+` move_window_to_top
+# map kitty_mod+r start_resizing_window
+# map kitty_mod+1 first_window
+# map kitty_mod+2 second_window
+# map kitty_mod+3 third_window
+# map kitty_mod+4 fourth_window
+# map kitty_mod+5 fifth_window
+# map kitty_mod+6 sixth_window
+# map kitty_mod+7 seventh_window
+# map kitty_mod+8 eighth_window
+# map kitty_mod+9 ninth_window
+# map kitty_mod+0 tenth_window
+#: }}}
+
+#: Tab management {{{
+
+# map kitty_mod+right next_tab
+# map kitty_mod+left previous_tab
+# map kitty_mod+t new_tab
+# map kitty_mod+q close_tab
+# map shift+cmd+w close_os_window
+# map kitty_mod+. move_tab_forward
+# map kitty_mod+, move_tab_backward
+# map kitty_mod+alt+t set_tab_title
+
+#: You can also create shortcuts to go to specific tabs, with 1 being
+#: the first tab, 2 the second tab and -1 being the previously active
+#: tab, and any number larger than the last tab being the last tab::
+
+#: map ctrl+alt+1 goto_tab 1
+#: map ctrl+alt+2 goto_tab 2
+
+#: Just as with new_window above, you can also pass the name of
+#: arbitrary commands to run when using new_tab and use
+#: new_tab_with_cwd. Finally, if you want the new tab to open next to
+#: the current tab rather than at the end of the tabs list, use::
+
+#: map ctrl+t new_tab !neighbor [optional cmd to run]
+#: }}}
+
+#: Layout management {{{
+
+# map kitty_mod+l next_layout
+
+#: You can also create shortcuts to switch to specific layouts::
+
+#: map ctrl+alt+t goto_layout tall
+#: map ctrl+alt+s goto_layout stack
+
+#: Similarly, to switch back to the previous layout::
+
+#: map ctrl+alt+p last_used_layout
+
+#: There is also a toggle layout function that switches to the named
+#: layout or back to the previous layout if in the named layout.
+#: Useful to temporarily "zoom" the active window by switching to the
+#: stack layout::
+
+#: map ctrl+alt+z toggle_layout stack
+#: }}}
+
+#: Font sizes {{{
+
+#: You can change the font size for all top-level kitty OS windows at
+#: a time or only the current one.
+
+# map kitty_mod+equal change_font_size all +2.0
+# map kitty_mod+minus change_font_size all -2.0
+# map kitty_mod+backspace change_font_size all 0
+
+#: To setup shortcuts for specific font sizes::
+
+#: map kitty_mod+f6 change_font_size all 10.0
+
+#: To setup shortcuts to change only the current OS window's font
+#: size::
+
+#: map kitty_mod+f6 change_font_size current 10.0
+#: }}}
+
+#: Select and act on visible text {{{
+
+#: Use the hints kitten to select text and either pass it to an
+#: external program or insert it into the terminal or copy it to the
+#: clipboard.
+
+# map kitty_mod+e open_url_with_hints
+
+#: Open a currently visible URL using the keyboard. The program used
+#: to open the URL is specified in open_url_with.
+
+# map kitty_mod+p>f kitten hints --type path --program -
+
+#: Select a path/filename and insert it into the terminal. Useful, for
+#: instance to run git commands on a filename output from a previous
+#: git command.
+
+# map kitty_mod+p>shift+f kitten hints --type path
+
+#: Select a path/filename and open it with the default open program.
+
+# map kitty_mod+p>l kitten hints --type line --program -
+
+#: Select a line of text and insert it into the terminal. Use for the
+#: output of things like: ls -1
+
+# map kitty_mod+p>w kitten hints --type word --program -
+
+#: Select words and insert into terminal.
+
+# map kitty_mod+p>h kitten hints --type hash --program -
+
+#: Select something that looks like a hash and insert it into the
+#: terminal. Useful with git, which uses sha1 hashes to identify
+#: commits
+
+# map kitty_mod+p>n kitten hints --type linenum
+
+#: Select something that looks like filename:linenum and open it in
+#: vim at the specified line number.
+
+# map kitty_mod+p>y kitten hints --type hyperlink
+
+#: Select a hyperlink (i.e. a URL that has been marked as such by the
+#: terminal program, for example, by ls --hyperlink=auto).
+
+
+#: The hints kitten has many more modes of operation that you can map
+#: to different shortcuts. For a full description see kittens/hints.
+#: }}}
+
+#: Miscellaneous {{{
+
+# map kitty_mod+f11 toggle_fullscreen
+# map kitty_mod+f10 toggle_maximized
+# map kitty_mod+u kitten unicode_input
+# map kitty_mod+f2 edit_config_file
+# map kitty_mod+escape kitty_shell window
+
+#: Open the kitty shell in a new window/tab/overlay/os_window to
+#: control kitty using commands.
+
+# map kitty_mod+a>m set_background_opacity +0.1
+# map kitty_mod+a>l set_background_opacity -0.1
+# map kitty_mod+a>1 set_background_opacity 1
+# map kitty_mod+a>d set_background_opacity default
+# map kitty_mod+delete clear_terminal reset active
+
+#: You can create shortcuts to clear/reset the terminal. For example::
+
+#: # Reset the terminal
+#: map kitty_mod+f9 clear_terminal reset active
+#: # Clear the terminal screen by erasing all contents
+#: map kitty_mod+f10 clear_terminal clear active
+#: # Clear the terminal scrollback by erasing it
+#: map kitty_mod+f11 clear_terminal scrollback active
+#: # Scroll the contents of the screen into the scrollback
+#: map kitty_mod+f12 clear_terminal scroll active
+
+#: If you want to operate on all windows instead of just the current
+#: one, use all instead of active.
+
+#: It is also possible to remap Ctrl+L to both scroll the current
+#: screen contents into the scrollback buffer and clear the screen,
+#: instead of just clearing the screen, for example, for ZSH add the
+#: following to ~/.zshrc:
+
+#: .. code-block:: sh
+
+#: scroll-and-clear-screen() {
+#: printf '\n%.0s' {1..$LINES}
+#: zle clear-screen
+#: }
+#: zle -N scroll-and-clear-screen
+#: bindkey '^l' scroll-and-clear-screen
+
+# map kitty_mod+f5 load_config_file
+
+#: Reload kitty.conf, applying any changes since the last time it was
+#: loaded. Note that a handful of settings cannot be dynamically
+#: changed and require a full restart of kitty. You can also map a
+#: keybinding to load a different config file, for example::
+
+#: map f5 load_config /path/to/alternative/kitty.conf
+
+#: Note that all setting from the original kitty.conf are discarded,
+#: in other words the new conf settings *replace* the old ones.
+
+# map kitty_mod+f6 debug_config
+
+#: Show details about exactly what configuration kitty is running with
+#: and its host environment. Useful for debugging issues.
+
+
+#: You can tell kitty to send arbitrary (UTF-8) encoded text to the
+#: client program when pressing specified shortcut keys. For example::
+
+#: map ctrl+alt+a send_text all Special text
+
+#: This will send "Special text" when you press the ctrl+alt+a key
+#: combination. The text to be sent is a python string literal so you
+#: can use escapes like \x1b to send control codes or \u21fb to send
+#: unicode characters (or you can just input the unicode characters
+#: directly as UTF-8 text). The first argument to send_text is the
+#: keyboard modes in which to activate the shortcut. The possible
+#: values are normal or application or kitty or a comma separated
+#: combination of them. The special keyword all means all modes. The
+#: modes normal and application refer to the DECCKM cursor key mode
+#: for terminals, and kitty refers to the special kitty extended
+#: keyboard protocol.
+
+#: Another example, that outputs a word and then moves the cursor to
+#: the start of the line (same as pressing the Home key)::
+
+#: map ctrl+alt+a send_text normal Word\x1b[H
+#: map ctrl+alt+a send_text application Word\x1bOH
+
+#: }}}
+
+#: }}}
+#
+
diff --git a/parch-config-i3/src/etc/skel/.config/kitty/tab_bar.py b/parch-config-i3/src/etc/skel/.config/kitty/tab_bar.py
new file mode 100644
index 0000000..cdb0d2c
--- /dev/null
+++ b/parch-config-i3/src/etc/skel/.config/kitty/tab_bar.py
@@ -0,0 +1,100 @@
+import datetime
+import json
+import subprocess
+from collections import defaultdict
+
+from kitty.boss import get_boss
+from kitty.fast_data_types import Screen, add_timer
+from kitty.tab_bar import (
+ DrawData,
+ ExtraData,
+ Formatter,
+ TabBarData,
+ as_rgb,
+ draw_attributed_string,
+ draw_tab_with_powerline,
+)
+
+timer_id = None
+
+
+def draw_tab(
+ draw_data: DrawData,
+ screen: Screen,
+ tab: TabBarData,
+ before: int,
+ max_title_length: int,
+ index: int,
+ is_last: bool,
+ extra_data: ExtraData,
+) -> int:
+ global timer_id
+
+ # if timer_id is None:
+ # timer_id = add_timer(_redraw_tab_bar, 2.0, True)
+ draw_tab_with_powerline(
+ draw_data, screen, tab, before, max_title_length, index, is_last, extra_data
+ )
+ if is_last:
+ draw_right_status(draw_data, screen)
+ return screen.cursor.x
+
+
+def draw_right_status(draw_data: DrawData, screen: Screen) -> None:
+ # The tabs may have left some formats enabled. Disable them now.
+ draw_attributed_string(Formatter.reset, screen)
+ cells = create_cells()
+ # Drop cells that wont fit
+ while True:
+ if not cells:
+ return
+ padding = screen.columns - screen.cursor.x - sum(len(c) + 3 for c in cells)
+ if padding >= 0:
+ break
+ cells = cells[1:]
+
+ if padding:
+ screen.draw(" " * padding)
+
+ tab_bg = as_rgb(int(draw_data.inactive_bg))
+ tab_fg = as_rgb(int(draw_data.inactive_fg))
+ default_bg = as_rgb(int(draw_data.default_bg))
+ for cell in cells:
+ # Draw the separator
+ if cell == cells[0]:
+ screen.cursor.fg = tab_bg
+ screen.draw("")
+ else:
+ screen.cursor.fg = default_bg
+ screen.cursor.bg = tab_bg
+ screen.draw("î‚·")
+ screen.cursor.fg = tab_fg
+ screen.cursor.bg = tab_bg
+ screen.draw(f" {cell} ")
+
+
+def create_cells() -> list[str]:
+ now = datetime.datetime.now()
+ return [
+ currently_playing(),
+ now.strftime("%d %b"),
+ now.strftime("%H:%M"),
+ ]
+
+
+STATE = defaultdict(lambda: "ï", {"Paused": "ïŒ", "Playing": "ï‹"})
+
+
+def currently_playing():
+ # TODO: Work out how to add python libraries so that I can query dbus directly
+ # For now, implemented in a separate python project: dbus-player-status
+ try:
+ data = json.loads(subprocess.getoutput("get_song"))
+ return f"ï€ {data['artist']} {data['title']}"
+ except ValueError:
+ return ""
+
+
+def _redraw_tab_bar(timer_id):
+ for tm in get_boss().all_tab_managers:
+ tm.mark_tab_bar_dirty()
diff --git a/parch-config-i3/src/etc/skel/.config/kitty/theme.conf b/parch-config-i3/src/etc/skel/.config/kitty/theme.conf
new file mode 120000
index 0000000..101a048
--- /dev/null
+++ b/parch-config-i3/src/etc/skel/.config/kitty/theme.conf
@@ -0,0 +1 @@
+kitty-themes/themes/Tomorrow_Night.conf
\ No newline at end of file
diff --git a/parch-config-i3/src/etc/skel/.config/picom.conf b/parch-config-i3/src/etc/skel/.config/picom.conf
new file mode 100755
index 0000000..ac5f1e5
--- /dev/null
+++ b/parch-config-i3/src/etc/skel/.config/picom.conf
@@ -0,0 +1,57 @@
+## shadow
+shadow = true;
+no-dnd-shadow = true;
+no-dock-shadow = true;
+clear-shadow = true;
+shadow-radius = 12;
+shadow-offset-x = -12;
+shadow-offset-y = -12;
+shadow-opacity = 0.95;
+shadow-red = 0.18;
+shadow-green = 0.20;
+shadow-blue = 0.25;
+shadow-exclude = [ "class_g = 'Cairo-clock'" ,
+ "class_g = 'CoverGloobus'",
+ "class_g = 'Tilda'",
+ "class_g = 'Conky'",
+ "class_g ?= 'Notify-osd'",
+ "class_g = 'Firefox'",
+ "class_g = 'Firefox-esr'",
+ "class_g = 'Dmenu'",
+ "name = 'Notification'",
+ "_GTK_FRAME_EXTENTS@:c"
+];
+
+## fading
+fading = true;
+fade-delta = 0.25;
+fade-in-step = 0.02;
+fade-out-step = 0.02;
+fade-exclude = [
+];
+
+## other
+backend = "xrender";
+mark-wmwin-focused = true;
+mark-ovredir-focused = true;
+detect-rounded-corners = true;
+detect-client-opacity = true;
+refresh-rate = 0;
+vsync = "none";
+dbe = false;
+paint-on-overlay = true;
+focus-exclude = [ "class_g = 'Cairo-clock'" ,
+ "class_g = 'CoverGloobus'",
+ "class_g = 'Tilda'",
+ "class_g = 'Firefox'",
+ "class_g = 'Firefox-esr'"
+];
+detect-transient = true;
+detect-client-leader = true;
+invert-color-include = [ ];
+glx-copy-from-front = false;
+glx-swap-method = "undefined";
+wintypes:
+{
+ tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; };
+};
diff --git a/parch-config-i3/src/etc/skel/.config/polybar/config b/parch-config-i3/src/etc/skel/.config/polybar/config
new file mode 100644
index 0000000..26b51e4
--- /dev/null
+++ b/parch-config-i3/src/etc/skel/.config/polybar/config
@@ -0,0 +1,2885 @@
+;=====================================================
+;
+; To learn more about how to configure Polybar
+; go to https://github.com/jaagr/polybar
+;
+; The README contains alot of information
+; Themes : https://github.com/jaagr/dots/tree/master/.local/etc/themer/themes
+; https://github.com/jaagr/polybar/wiki/
+; https://github.com/jaagr/polybar/wiki/Configuration
+; https://github.com/jaagr/polybar/wiki/Formatting
+;
+;=====================================================
+
+[global/wm]
+;https://github.com/jaagr/polybar/wiki/Configuration#global-wm-settings
+margin-top = 0
+margin-bottom = 0
+
+[settings]
+;https://github.com/jaagr/polybar/wiki/Configuration#application-settings
+throttle-output = 5
+throttle-output-for = 10
+screenchange-reload = true
+compositing-background = over
+compositing-foreground = over
+compositing-overline = over
+compositing-underline = over
+compositing-border = over
+
+; Define fallback values used by all module formats
+format-foreground = #FF0000
+format-background = #00FF00
+format-underline =
+format-overline =
+format-spacing =
+format-padding =
+format-margin =
+format-offset =
+
+[colors]
+; Nord theme ============
+; background = #2F343F
+; foreground = #f3f4f5
+; foreground-active = #6790EB
+; occupied = #cccccc
+; occupied-active = #b3c7f5
+; active = #5e81ac
+; alert = #d08770
+; volume-min = #a3be8c
+; volume-med = #ebcb8b
+; volume-max = #bf616a
+; =======================
+
+; Gotham theme ==========
+ background = #0a0f14
+ foreground = #99d1ce
+ alert = #d26937
+ volume-min = #2aa889
+ volume-med = #edb443
+ volume-max = #c23127
+; =======================
+
+; INTRCPTR theme ============
+;background = ${xrdb:color0:#222}
+;background = #aa000000
+;background-alt = #444
+;foreground = ${xrdb:color7:#222}
+;foreground = #fff
+;foreground-alt = #555
+;primary = #ffb52a
+;secondary = #e60053
+;alert = #bd2c40
+
+################################################################################
+################################################################################
+############ MAINBAR-I3 ############
+################################################################################
+################################################################################
+
+[bar/mainbar-i3]
+;https://github.com/jaagr/polybar/wiki/Configuration
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+monitor-strict = false
+override-redirect = false
+bottom = false
+fixed-center = true
+width = 100%
+height = 20
+;offset-x = 1%
+;offset-y = 1%
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+; Background gradient (vertical steps)
+; background-[0-9]+ = #aarrggbb
+;background-0 =
+
+radius = 0.0
+line-size = 2
+line-color = #000000
+
+border-size = 0
+;border-left-size = 25
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #000000
+
+padding-left = 1
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=10;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+
+modules-left = i3 xwindow
+modules-right = memory2 cpu2 date
+
+separator = |
+
+;dim-value = 1.0
+
+tray-detached = false
+tray-offset-x = 0
+tray-offset-y = 0
+tray-padding = 2
+tray-maxsize = 20
+tray-scale = 1.0
+tray-position = right
+tray-background = ${colors.background}
+
+#i3: Make the bar appear below windows
+;wm-restack = i3
+;override-redirect = true
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+; Fallback click handlers that will be called if
+; there's no matching module handler found.
+click-left =
+click-middle =
+click-right =
+scroll-up = i3wm-wsnext
+scroll-down = i3wm-wsprev
+double-click-left =
+double-click-middle =
+double-click-right =
+
+; Requires polybar to be built with xcursor support (xcb-util-cursor)
+; Possible values are:
+; - default : The default pointer as before, can also be an empty string (default)
+; - pointer : Typically in the form of a hand
+; - ns-resize : Up and down arrows, can be used to indicate scrolling
+cursor-click =
+cursor-scroll =
+
+
+################################################################################
+################################################################################
+############ MAINBAR-I3-EXTRA ############
+################################################################################
+################################################################################
+
+[bar/mainbar-i3-extra]
+;https://github.com/jaagr/polybar/wiki/Configuration
+
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+monitor-strict = false
+override-redirect = false
+bottom = true
+fixed-center = true
+width = 100%
+height = 20
+;offset-x = 1%
+;offset-y = 1%
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+; Background gradient (vertical steps)
+; background-[0-9]+ = #aarrggbb
+;background-0 =
+
+radius = 0.0
+line-size = 2
+line-color = #000000
+
+border-size = 0
+;border-left-size = 25
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #000000
+
+padding-left = 1
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=10;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+
+modules-left = load-average
+modules-center = networkspeeddown networkspeedup
+modules-right = filesystem
+
+separator = |
+
+;dim-value = 1.0
+
+;tray-detached = false
+;tray-offset-x = 0
+;tray-offset-y = 0
+;tray-padding = 2
+;tray-maxsize = 20
+;tray-scale = 1.0
+;tray-position = right
+;tray-background = ${colors.background}
+
+#i3: Make the bar appear below windows
+;wm-restack = i3
+;override-redirect = true
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+; Fallback click handlers that will be called if
+; there's no matching module handler found.
+click-left =
+click-middle =
+click-right =
+scroll-up = i3wm-wsnext
+scroll-down = i3wm-wsprev
+double-click-left =
+double-click-middle =
+double-click-right =
+
+; Requires polybar to be built with xcursor support (xcb-util-cursor)
+; Possible values are:
+; - default : The default pointer as before, can also be an empty string (default)
+; - pointer : Typically in the form of a hand
+; - ns-resize : Up and down arrows, can be used to indicate scrolling
+cursor-click =
+cursor-scroll =
+
+################################################################################
+################################################################################
+############ MAINBAR-OPENBOX ############
+################################################################################
+################################################################################
+
+[bar/mainbar-openbox]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = false
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+;border-size = 2
+;border-left-size = 25
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+;border-color = #00000000
+
+padding-left = 1
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=10;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+
+modules-left = ewmh xwindow
+modules-center = kernel
+modules-right = memory2 cpu2 date
+
+tray-detached = false
+tray-offset-x = 0
+tray-offset-y = 0
+tray-padding = 2
+tray-maxsize = 20
+tray-scale = 1.0
+tray-position = right
+tray-background = ${colors.background}
+
+
+
+################################################################################
+################################################################################
+############ MAINBAR-OPENBOX-EXTRA ############
+################################################################################
+################################################################################
+
+[bar/mainbar-openbox-extra]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = true
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+;border-size = 2
+;border-left-size = 25
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+;border-color = #00000000
+
+padding-left = 1
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=10;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+
+modules-left = load-average
+modules-center = networkspeeddown networkspeedup
+modules-right = filesystem
+
+;tray-detached = false
+;tray-offset-x = 0
+;tray-offset-y = 0
+;tray-padding = 2
+;tray-maxsize = 20
+;tray-scale = 1.0
+;tray-position = right
+;tray-background = ${colors.background}
+
+
+################################################################################
+################################################################################
+############ MAINBAR-BSPWM ############
+################################################################################
+################################################################################
+
+[bar/mainbar-bspwm]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = false
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+wm-restack = bspwm
+override-redirect = true
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+border-size = 0
+;border-left-size = 0
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=13;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+
+modules-left = bspwm xwindow
+modules-center = kernel
+modules-right = pavolume memory2 cpu2 date
+
+tray-detached = false
+tray-offset-x = 0
+tray-offset-y = 0
+tray-padding = 2
+tray-maxsize = 20
+tray-scale = 1.0
+tray-position = right
+tray-background = ${colors.background}
+
+scroll-up = bspwm-desknext
+scroll-down = bspwm-deskprev
+
+
+################################################################################
+################################################################################
+############ MAINBAR-BSPWM-EXTRA ############
+################################################################################
+################################################################################
+
+[bar/mainbar-bspwm-extra]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = true
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+wm-restack = bspwm
+override-redirect = true
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+border-size = 0
+;border-left-size = 0
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=13;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+
+modules-left = load-average
+modules-center = networkspeeddown networkspeedup
+modules-right = filesystem
+
+;tray-detached = false
+;tray-offset-x = 0
+;tray-offset-y = 0
+;tray-padding = 2
+;tray-maxsize = 20
+;tray-scale = 1.0
+;tray-position = right
+;tray-background = ${colors.background}
+
+scroll-up = bspwm-desknext
+scroll-down = bspwm-deskprev
+
+
+################################################################################
+################################################################################
+############ MAINBAR-HERBSTLUFTWM ############
+################################################################################
+################################################################################
+
+[bar/mainbar-herbstluftwm]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = false
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+wm-restack = bspwm
+override-redirect = true
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+border-size = 0
+;border-left-size = 0
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=13;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+
+modules-left = ewmh xwindow
+modules-center = kernel
+modules-right = pavolume memory2 cpu2 date
+
+tray-detached = false
+tray-offset-x = 0
+tray-offset-y = 0
+tray-padding = 2
+tray-maxsize = 20
+tray-scale = 1.0
+tray-position = right
+tray-background = ${colors.background}
+
+scroll-up = herbstclient use_index -1
+scroll-down = herbstclient use_index +1
+
+
+################################################################################
+################################################################################
+############ MAINBAR-HERBSTLUFTWM-EXTRA ############
+################################################################################
+################################################################################
+
+[bar/mainbar-herbstluftwm-extra]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = true
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+wm-restack = bspwm
+override-redirect = true
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+border-size = 0
+;border-left-size = 0
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=13;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+
+modules-left = load-average
+modules-center = networkspeeddown networkspeedup
+modules-right = filesystem
+
+;tray-detached = false
+;tray-offset-x = 0
+;tray-offset-y = 0
+;tray-padding = 2
+;tray-maxsize = 20
+;tray-scale = 1.0
+;tray-position = right
+;tray-background = ${colors.background}
+
+scroll-up = herbstclient use_index -1
+scroll-down = herbstclient use_index +1
+
+################################################################################
+################################################################################
+############ MAINBAR-WORM ############
+################################################################################
+################################################################################
+
+[bar/mainbar-worm]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = false
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+;wm-restack = bspwm
+override-redirect = true
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+border-size = 0
+;border-left-size = 0
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=13;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+
+modules-left = ewmh xwindow
+modules-center = kernel
+modules-right = pavolume memory2 cpu2 date
+
+tray-detached = false
+tray-offset-x = 0
+tray-offset-y = 0
+tray-padding = 2
+tray-maxsize = 20
+tray-scale = 1.0
+tray-position = right
+tray-background = ${colors.background}
+
+;scroll-up = herbstclient use_index -1
+;scroll-down = herbstclient use_index +1
+
+
+################################################################################
+################################################################################
+############ MAINBAR-WORM-EXTRA ############
+################################################################################
+################################################################################
+
+[bar/mainbar-worm-extra]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = true
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+;wm-restack = bspwm
+override-redirect = true
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+border-size = 0
+;border-left-size = 0
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=13;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+
+modules-left = load-average
+modules-center = networkspeeddown networkspeedup
+modules-right = filesystem
+
+;tray-detached = false
+;tray-offset-x = 0
+;tray-offset-y = 0
+;tray-padding = 2
+;tray-maxsize = 20
+;tray-scale = 1.0
+;tray-position = right
+;tray-background = ${colors.background}
+
+;scroll-up = herbstclient use_index -1
+;scroll-down = herbstclient use_index +1
+
+################################################################################
+################################################################################
+############ MAINBAR-BERRY ############
+################################################################################
+################################################################################
+
+[bar/mainbar-berry]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = false
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+override-redirect = true
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+border-size = 0
+;border-left-size = 0
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=13;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+
+modules-left = ewmh-noscroll xwindow
+modules-center = kernel
+modules-right = pavolume memory2 cpu2 date
+
+tray-detached = false
+tray-offset-x = 0
+tray-offset-y = 0
+tray-padding = 2
+tray-maxsize = 20
+tray-scale = 1.0
+tray-position = right
+tray-background = ${colors.background}
+
+################################################################################
+################################################################################
+############ MAINBAR-BERRY-EXTRA ############
+################################################################################
+################################################################################
+
+[bar/mainbar-berry-extra]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = true
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+override-redirect = true
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+border-size = 0
+;border-left-size = 0
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=13;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+
+modules-left = load-average
+modules-center = networkspeeddown networkspeedup
+modules-right = filesystem
+
+;tray-detached = false
+;tray-offset-x = 0
+;tray-offset-y = 0
+;tray-padding = 2
+;tray-maxsize = 20
+;tray-scale = 1.0
+;tray-position = right
+;tray-background = ${colors.background}
+
+################################################################################
+################################################################################
+############ MAINBAR-XMONAD ############
+################################################################################
+################################################################################
+
+[bar/mainbar-xmonad]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+monitor-strict = false
+override-redirect = false
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = false
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+;border-size = 2
+;border-left-size = 25
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=13;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+font-4 = "FontAwesome5Brands:size=13;0"
+
+modules-left = ewmh
+modules-center = kernel
+modules-right = pavolume memory2 cpu2 date
+
+tray-detached = false
+tray-offset-x = 0
+tray-offset-y = 0
+tray-padding = 2
+tray-maxsize = 20
+tray-scale = 1.0
+tray-position = right
+tray-background = ${colors.background}
+
+
+################################################################################
+################################################################################
+############ MAINBAR-XMONAD-EXTRA ############
+################################################################################
+################################################################################
+
+[bar/mainbar-xmonad-extra]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+monitor-strict = false
+override-redirect = false
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = true
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+;border-size = 2
+;border-left-size = 25
+;border-right-size = 25
+border-top-size = 10
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=13;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+font-4 = "FontAwesome5Brands:size=13;0"
+
+modules-left = load-average
+modules-center = networkspeeddown networkspeedup
+modules-right = filesystem
+
+;tray-detached = false
+;tray-offset-x = 0
+;tray-offset-y = 0
+;tray-padding = 2
+;tray-maxsize = 20
+;tray-scale = 1.0
+;tray-position = right
+;tray-background = ${colors.background}
+
+
+################################################################################
+################################################################################
+############ MAINBAR-SPECTRWM ############
+################################################################################
+################################################################################
+
+[bar/mainbar-spectrwm]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = false
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+wm-restack = bspwm
+override-redirect = true
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+border-size = 0
+;border-left-size = 0
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=10;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+
+modules-left = ewmh xwindow
+modules-center = kernel
+modules-right = pavolume memory2 cpu2 date
+
+tray-detached = false
+tray-offset-x = 0
+tray-offset-y = 0
+tray-padding = 2
+tray-maxsize = 20
+tray-scale = 1.0
+tray-position = right
+tray-background = ${colors.background}
+
+scroll-up = spectrwm-desknext
+scroll-down = spectrwm-deskprev
+
+################################################################################
+################################################################################
+############ MAINBAR-CWM ############
+################################################################################
+################################################################################
+
+[bar/mainbar-cwm]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = false
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+override-redirect = true
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+border-size = 0
+;border-left-size = 0
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=13;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+
+modules-left = ewmh xwindow
+modules-center = kernel
+modules-right = pavolume memory2 cpu2 date
+
+tray-detached = false
+tray-offset-x = 0
+tray-offset-y = 0
+tray-padding = 2
+tray-maxsize = 20
+tray-scale = 1.0
+tray-position = right
+tray-background = ${colors.background}
+
+scroll-up = cwm-desknext
+scroll-down = cwm-deskprev
+
+
+################################################################################
+################################################################################
+############ MAINBAR-CWM-EXTRA ############
+################################################################################
+################################################################################
+
+[bar/mainbar-cwm-extra]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = true
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+wm-restack = bspwm
+override-redirect = true
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+border-size = 0
+;border-left-size = 0
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=13;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+
+modules-left = load-average
+modules-center = networkspeeddown networkspeedup
+modules-right = filesystem
+
+;tray-detached = false
+;tray-offset-x = 0
+;tray-offset-y = 0
+;tray-padding = 2
+;tray-maxsize = 20
+;tray-scale = 1.0
+;tray-position = right
+;tray-background = ${colors.background}
+
+scroll-up = cwm-desknext
+scroll-down = cwm-deskprev
+
+################################################################################
+################################################################################
+############ MAINBAR-FVWM3 ############
+################################################################################
+################################################################################
+
+[bar/mainbar-fvwm3]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = false
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+override-redirect = true
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+border-size = 0
+;border-left-size = 0
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=13;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+
+modules-left = ewmh xwindow
+modules-center = kernel
+modules-right = pavolume memory2 cpu2 date
+
+tray-detached = false
+tray-offset-x = 0
+tray-offset-y = 0
+tray-padding = 2
+tray-maxsize = 20
+tray-scale = 1.0
+tray-position = right
+tray-background = ${colors.background}
+
+scroll-up = fvwm3-desknext
+scroll-down = fvwm3-deskprev
+
+
+################################################################################
+################################################################################
+############ MAINBAR-FVWM3-EXTRA ############
+################################################################################
+################################################################################
+
+[bar/mainbar-fvwm3-extra]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = true
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+wm-restack = bspwm
+override-redirect = true
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+border-size = 0
+;border-left-size = 0
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=13;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+
+modules-left = load-average
+modules-center = networkspeeddown networkspeedup
+modules-right = filesystem
+
+;tray-detached = false
+;tray-offset-x = 0
+;tray-offset-y = 0
+;tray-padding = 2
+;tray-maxsize = 20
+;tray-scale = 1.0
+;tray-position = right
+;tray-background = ${colors.background}
+
+scroll-up = fvwm3-desknext
+scroll-down = fvwm3-deskprev
+
+################################################################################
+################################################################################
+############ MAINBAR-WMDERLAND ############
+################################################################################
+################################################################################
+
+[bar/mainbar-wmderland]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+monitor-strict = false
+override-redirect = false
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = false
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+;border-size = 2
+;border-left-size = 25
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=13;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+font-4 = "FontAwesome5Brands:size=13;0"
+
+modules-left = xworkspaces
+modules-center = kernel
+modules-right = pavolume memory2 cpu2 date
+
+tray-detached = false
+tray-offset-x = 0
+tray-offset-y = 0
+tray-padding = 2
+tray-maxsize = 20
+tray-scale = 1.0
+tray-position = right
+tray-background = ${colors.background}
+
+
+################################################################################
+################################################################################
+############ MAINBAR-WMDERLAND-EXTRA ############
+################################################################################
+################################################################################
+
+[bar/mainbar-wmderland-extra]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+monitor-strict = false
+override-redirect = false
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = true
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+;border-size = 2
+;border-left-size = 25
+;border-right-size = 25
+border-top-size = 10
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=13;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+font-4 = "FontAwesome5Brands:size=13;0"
+
+modules-left = load-average
+modules-center = networkspeeddown networkspeedup
+modules-right = filesystem
+
+;tray-detached = false
+;tray-offset-x = 0
+;tray-offset-y = 0
+;tray-padding = 2
+;tray-maxsize = 20
+;tray-scale = 1.0
+;tray-position = right
+;tray-background = ${colors.background}
+
+
+################################################################################
+################################################################################
+############ MAINBAR-LEFTWM ############
+################################################################################
+################################################################################
+
+[bar/mainbar-leftwm]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+monitor-strict = false
+override-redirect = false
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = false
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+;border-size = 2
+;border-left-size = 25
+;border-right-size = 25
+;border-top-size = 0
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=13;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+font-4 = "FontAwesome5Brands:size=13;0"
+
+modules-left = ewmh
+modules-center = kernel
+modules-right = pavolume memory2 cpu2 date
+
+tray-detached = false
+tray-offset-x = 0
+tray-offset-y = 0
+tray-padding = 2
+tray-maxsize = 20
+tray-scale = 1.0
+tray-position = right
+tray-background = ${colors.background}
+
+
+################################################################################
+################################################################################
+############ MAINBAR-LEFTWM-EXTRA ############
+################################################################################
+################################################################################
+
+[bar/mainbar-leftwm-extra]
+monitor = ${env:MONITOR}
+;monitor-fallback = HDMI1
+monitor-strict = false
+override-redirect = false
+width = 100%
+height = 30
+;offset-x = 1%
+;offset-y = 1%
+radius = 0.0
+fixed-center = true
+bottom = true
+separator = |
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 2
+line-color = #f00
+
+;border-size = 2
+;border-left-size = 25
+;border-right-size = 25
+border-top-size = 10
+;border-bottom-size = 25
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin-left = 3
+module-margin-right = 3
+
+; Enable support for inter-process messaging
+; See the Messaging wiki page for more details.
+enable-ipc = true
+
+;https://github.com/jaagr/polybar/wiki/Fonts
+font-0 = "Noto Sans:size=10;0"
+font-1 = "FontAwesome:size=13;0"
+font-2 = "Noto Sans:size=10;0"
+font-3 = "Noto Sans Mono:size=10;0"
+font-4 = "FontAwesome5Brands:size=13;0"
+
+modules-left = load-average
+modules-center = networkspeeddown networkspeedup
+modules-right = filesystem
+
+;tray-detached = false
+;tray-offset-x = 0
+;tray-offset-y = 0
+;tray-padding = 2
+;tray-maxsize = 20
+;tray-scale = 1.0
+;tray-position = right
+;tray-background = ${colors.background}
+
+
+################################################################################
+################################################################################
+############ MODULE I3 ############
+################################################################################
+################################################################################
+
+[module/i3]
+;https://github.com/jaagr/polybar/wiki/Module:-i3
+type = internal/i3
+
+; Only show workspaces defined on the same output as the bar
+;
+; Useful if you want to show monitor specific workspaces
+; on different bars
+;
+; Default: false
+pin-workspaces = true
+
+; This will split the workspace name on ':'
+; Default: false
+strip-wsnumbers = false
+
+; Sort the workspaces by index instead of the default
+; sorting that groups the workspaces by output
+; Default: false
+index-sort = false
+
+; Create click handler used to focus workspace
+; Default: true
+enable-click = true
+
+; Create scroll handlers used to cycle workspaces
+; Default: true
+enable-scroll = true
+
+; Wrap around when reaching the first/last workspace
+; Default: true
+wrapping-scroll = false
+
+; Set the scroll cycle direction
+; Default: true
+reverse-scroll = false
+
+; Use fuzzy (partial) matching on labels when assigning
+; icons to workspaces
+; Example: code;♚ will apply the icon to all workspaces
+; containing 'code' in the label
+; Default: false
+fuzzy-match = false
+
+;extra icons to choose from
+;http://fontawesome.io/cheatsheet/
+; ï„¡   ï‚ ï…¼  ïv ï„• ï¼ ï» ï‰’
+
+ws-icon-0 = 1;
+ws-icon-1 = 2;
+ws-icon-2 = 3;
+ws-icon-3 = 4;
+ws-icon-4 = 5;
+ws-icon-5 = 6;
+ws-icon-6 = 7;
+ws-icon-7 = 8;ï¼
+ws-icon-8 = 9;
+ws-icon-9 = 10;
+ws-icon-default = " "
+
+; Available tags:
+; (default) - gets replaced with
+; (default)
+format =
+
+label-mode = %mode%
+label-mode-padding = 2
+label-mode-foreground = #000000
+label-mode-background = #FFBB00
+
+; Available tokens:
+; %name%
+; %icon%
+; %index%
+; %output%
+; Default: %icon% %name%
+; focused = Active workspace on focused monitor
+label-focused = %icon% %name%
+label-focused-background = ${colors.background}
+label-focused-foreground = ${colors.foreground}
+label-focused-underline = #6790eb
+label-focused-padding = 2
+
+; Available tokens:
+; %name%
+; %icon%
+; %index%
+; Default: %icon% %name%
+; unfocused = Inactive workspace on any monitor
+label-unfocused = %icon% %name%
+label-unfocused-padding = 2
+label-unfocused-background = ${colors.background}
+label-unfocused-foreground = ${colors.foreground}
+label-unfocused-underline =
+
+; visible = Active workspace on unfocused monitor
+label-visible = %icon% %name%
+label-visible-background = ${self.label-focused-background}
+label-visible-underline = ${self.label-focused-underline}
+label-visible-padding = 2
+
+; Available tokens:
+; %name%
+; %icon%
+; %index%
+; Default: %icon% %name%
+; urgent = Workspace with urgency hint set
+label-urgent = %icon% %name%
+label-urgent-background = ${self.label-focused-background}
+label-urgent-foreground = #db104e
+label-urgent-padding = 2
+
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+
+################################################################################
+################################################################################
+############ MODULE BSPWM ############
+################################################################################
+################################################################################
+
+[module/bspwm]
+type = internal/bspwm
+
+enable-click = true
+enable-scroll = true
+reverse-scroll = true
+pin-workspaces = true
+
+ws-icon-0 = 1;
+ws-icon-1 = 2;
+ws-icon-2 = 3;
+ws-icon-3 = 4;
+ws-icon-4 = 5;
+ws-icon-5 = 6;
+ws-icon-6 = 7;
+ws-icon-7 = 8;ï¼
+ws-icon-8 = 9;
+ws-icon-9 = 10;
+ws-icon-default = " "
+
+
+format =
+
+label-focused = %icon%
+label-focused-background = ${colors.background}
+label-focused-underline= #6790eb
+label-focused-padding = 4
+label-focused-foreground = #6790EB
+
+label-occupied = %icon%
+label-occupied-padding = 2
+label-occupied-background = ${colors.background}
+label-occupied-foreground = #6790EB
+
+label-urgent = %icon%
+label-urgent-padding = 2
+
+label-empty = %icon%
+label-empty-foreground = ${colors.foreground}
+label-empty-padding = 2
+label-empty-background = ${colors.background}
+label-monocle = " ï® "
+label-monocle-foreground = ${colors.foreground}
+label-tiled = "  "
+label-tiled-foreground = ${colors.foreground}
+label-fullscreen = " ï¥ "
+label-fullscreen-foreground = ${colors.foreground}
+label-floating = " ï‹ "
+label-floating-foreground = ${colors.foreground}
+label-pseudotiled = "  "
+label-pseudotiled-foreground = ${colors.foreground}
+label-locked = "  "
+label-locked-foreground = ${colors.foreground}
+label-sticky = " ï‚ "
+label-sticky-foreground = ${colors.foreground}
+label-private = "  "
+label-private-foreground = ${colors.foreground}
+
+; Separator in between workspaces
+;label-separator = |
+;label-separator-padding = 10
+;label-separator-foreground = #ffb52a
+
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+
+
+################################################################################
+###############################################################################
+############ MODULES A-Z ############
+################################################################################
+################################################################################
+
+[module/arch-updates]
+type = custom/script
+exec = ~/.config/polybar/scripts/check-arch-updates.sh
+interval = 1000
+label = Arch: %output%
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+format-prefix = " ïƒ "
+format-prefix-foreground = #FFBB00
+format-underline = #FFBB00
+
+[module/aur-updates]
+type = custom/script
+exec = ~/.config/polybar/scripts/check-aur-updates.sh
+interval = 1000
+label = Aur: %output%
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+format-prefix = " ïƒ "
+format-prefix-foreground = #FFBB00
+format-underline = #FFBB00
+
+################################################################################
+
+[module/backlight-acpi]
+inherit = module/xbacklight
+type = internal/backlight
+card = intel_backlight
+format-foreground = ${colors.foreground}
+format-background = ${colors.background}
+format-prefix-foreground = #7D49B6
+format-prefix-underline = #7D49B6
+format-underline = #7D49B6
+################################################################################
+
+[module/backlight]
+;https://github.com/jaagr/polybar/wiki/Module:-backlight
+
+type = internal/backlight
+
+; Use the following command to list available cards:
+; $ ls -1 /sys/class/backlight/
+card = intel_backlight
+
+; Available tags:
+;