hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/.config
diff options
context:
space:
mode:
Diffstat (limited to '.config')
-rw-r--r--.config/alacritty/alacritty.yml52
-rw-r--r--.config/i3/config123
-rwxr-xr-x.config/openbox/autostart4
-rw-r--r--.config/openbox/rc.xml942
-rw-r--r--.config/picom/picom.conf429
-rw-r--r--.config/polybar/config185
-rw-r--r--.config/polybar/launch.sh9
-rw-r--r--.config/startup.sh25
-rw-r--r--.config/wezterm/wezterm.lua59
9 files changed, 1828 insertions, 0 deletions
diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml
new file mode 100644
index 0000000..126ac26
--- /dev/null
+++ b/.config/alacritty/alacritty.yml
@@ -0,0 +1,52 @@
+window:
+ padding:
+ x: 10
+ y: 10
+ dynamic_padding: true
+
+font:
+ normal:
+ family: Cascadia Code
+ style: Regular
+ italic:
+ family: Cascadia Code
+ style: Italic
+ bold:
+ family: Cascadia Code
+ style: Bold
+ bold italic:
+ family: Cascadia Code
+ style: Bold Italic
+
+ size: 8.0
+
+colors:
+ primary:
+ background: '0x020202'
+ foreground: '0xffffff'
+ cursor:
+ text: '0x000000'
+ cursor: '0xffff00'
+ normal:
+ black: '0x222222'
+ red: '0xfe0100'
+ green: '0x33ff00'
+ yellow: '0xfeff00'
+ blue: '0x0066ff'
+ magenta: '0xcc00ff'
+ cyan: '0x00ffff'
+ white: '0xd0d0d0'
+ bright:
+ black: '0x808080'
+ red: '0xfe0100'
+ green: '0x33ff00'
+ yellow: '0xfeff00'
+ blue: '0x0066ff'
+ magenta: '0xcc00ff'
+ cyan: '0x00ffff'
+ white: '0xFFFFFF'
+
+draw_bold_text_with_bright_colors: false
+live_config_reload: true
+dynamic_title: true
+
diff --git a/.config/i3/config b/.config/i3/config
new file mode 100644
index 0000000..f888d31
--- /dev/null
+++ b/.config/i3/config
@@ -0,0 +1,123 @@
+Set $mod Mod4
+Set $alt Mod1
+
+font pango:Mononoki 8
+
+exec --no-startup-id sh "$HOME/.config/startup.sh"
+
+bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +1%
+bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -1%
+bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle
+bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
+
+floating_modifier $mod
+
+bindsym $mod+Return exec --no-startup-id wezterm
+bindsym $mod+Shift+Return exec --no-startup-id dmenu_run
+
+bindsym $alt+Shift+n exec --no-startup-id warpd --normal
+bindsym $alt+Shift+g exec --no-startup-id warpd --grid
+bindsym $alt+Shift+h exec --no-startup-id warpd --hint
+
+bindsym $mod+Shift+o exec --no-startup-id brave
+bindsym $mod+Shift+d exec --no-startup-id discord-canary
+bindsym $mod+Shift+b exec --no-startup-id blueman-manager
+bindsym $mod+Shift+S exec --no-startup-id flameshot gui
+bindsym $mod+Shift+p exec --no-startup-id pavucontrol
+
+bindsym $mod+Shift+q kill
+
+bindsym $mod+h focus left
+bindsym $mod+j focus down
+bindsym $mod+k focus up
+bindsym $mod+l focus right
+
+bindsym $mod+Shift+h move left
+bindsym $mod+Shift+j move down
+bindsym $mod+Shift+k move up
+bindsym $mod+Shift+l move right
+
+bindsym $mod+o split h
+bindsym $mod+p split v
+
+bindsym $mod+f fullscreen toggle
+
+bindsym $mod+s layout stacking
+bindsym $mod+w layout tabbed
+bindsym $mod+e layout toggle split
+
+bindsym $mod+Shift+space floating toggle
+bindsym $mod+a focus parent
+
+set $ws1 "1"
+set $ws2 "2"
+set $ws3 "3"
+set $ws4 "4"
+set $ws5 "5"
+set $ws6 "6"
+set $ws7 "7"
+set $ws8 "8"
+set $ws9 "9"
+set $ws10 "10"
+
+bindsym $mod+1 workspace number $ws1
+bindsym $mod+2 workspace number $ws2
+bindsym $mod+3 workspace number $ws3
+bindsym $mod+4 workspace number $ws4
+bindsym $mod+5 workspace number $ws5
+bindsym $mod+6 workspace number $ws6
+bindsym $mod+7 workspace number $ws7
+bindsym $mod+8 workspace number $ws8
+bindsym $mod+9 workspace number $ws9
+bindsym $mod+0 workspace number $ws10
+
+bindsym $mod+Shift+1 move container to workspace number $ws1
+bindsym $mod+Shift+2 move container to workspace number $ws2
+bindsym $mod+Shift+3 move container to workspace number $ws3
+bindsym $mod+Shift+4 move container to workspace number $ws4
+bindsym $mod+Shift+5 move container to workspace number $ws5
+bindsym $mod+Shift+6 move container to workspace number $ws6
+bindsym $mod+Shift+7 move container to workspace number $ws7
+bindsym $mod+Shift+8 move container to workspace number $ws8
+bindsym $mod+Shift+9 move container to workspace number $ws9
+bindsym $mod+Shift+0 move container to workspace number $ws10
+
+bindsym $mod+Shift+c reload
+bindsym $mod+Shift+r restart
+bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
+
+mode "resize" {
+ bindsym $mod+h resize shrink width 10 px or 10 ppt
+ bindsym $mod+j resize grow height 10 px or 10 ppt
+ bindsym $mod+k resize shrink height 10 px or 10 ppt
+ bindsym $mod+l resize grow width 10 px or 10 ppt
+
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+ bindsym $mod+r mode "default"
+}
+
+# bar {
+# status_command i3status
+# separator_symbol ":|:"
+#
+# colors {
+# focused_workspace #111111 #3f3f3f #ffffff
+# active_workspace #111111 #222222 #ffffff
+# inactive_workspace #111111 #222222 #888888
+# }
+# }
+
+client.focused #dd3e42 #285577 #ffffff #3f3f3f #3f3f3f
+client.focused_inactive #333333 #5f676a #ffffff #484e50 #111111
+client.unfocused #333333 #222222 #888888 #292d2e #111111
+client.urgent #2f343a #900000 #ffffff #900000 #900000
+client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
+
+#gaps inner 2px
+#gaps outer 2px
+
+workspace 1 output primary
+bindsym $mod+r mode "resize"
+for_window [class=".*"] border pixel 2
+
diff --git a/.config/openbox/autostart b/.config/openbox/autostart
new file mode 100755
index 0000000..8cb1d9e
--- /dev/null
+++ b/.config/openbox/autostart
@@ -0,0 +1,4 @@
+#!/usr/bin/sh
+
+sh /home/hachem/.config/startup.sh
+
diff --git a/.config/openbox/rc.xml b/.config/openbox/rc.xml
new file mode 100644
index 0000000..c737f3f
--- /dev/null
+++ b/.config/openbox/rc.xml
@@ -0,0 +1,942 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Do not edit this file, it will be overwritten on install.
+ Copy the file to $HOME/.config/openbox/ instead. -->
+<openbox_config
+ xmlns="http://openbox.org/3.4/rc"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+ <resistance>
+ <strength>10</strength>
+ <screen_edge_strength>20</screen_edge_strength>
+ </resistance>
+ <focus>
+ <focusNew>yes</focusNew>
+ <!-- always try to focus new windows when they appear. other rules do
+ apply -->
+ <followMouse>yes</followMouse>
+ <!-- move focus to a window when you move the mouse into it -->
+ <focusLast>yes</focusLast>
+ <!-- focus the last used window when changing desktops, instead of the one
+ under the mouse pointer. when followMouse is enabled -->
+ <underMouse>no</underMouse>
+ <!-- move focus under the mouse, even when the mouse is not moving -->
+ <focusDelay>0</focusDelay>
+ <!-- when followMouse is enabled, the mouse must be inside the window for
+ this many milliseconds (1000 = 1 sec) before moving focus to it -->
+ <raiseOnFocus>no</raiseOnFocus>
+ <!-- when followMouse is enabled, and a window is given focus by moving the
+ mouse into it, also raise the window -->
+ </focus>
+ <placement>
+ <policy>UnderMouse</policy>
+ <!-- 'Smart' or 'UnderMouse' -->
+ <center>yes</center>
+ <!-- whether to place windows in the center of the free area found or
+ the top left corner -->
+ <monitor>Mouse</monitor>
+ <!-- with Smart placement on a multi-monitor system, try to place new windows
+ on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
+ the active window is, 'Primary' - only on the primary monitor -->
+ <primaryMonitor>1</primaryMonitor>
+ <!-- The monitor where Openbox should place popup dialogs such as the
+ focus cycling popup, or the desktop switch popup. It can be an index
+ from 1, specifying a particular monitor. Or it can be one of the
+ following: 'Mouse' - where the mouse is, or
+ 'Active' - where the active window is -->
+ </placement>
+ <theme>
+ <name>Qogir-Dark</name>
+ <titleLayout>NLSMC</titleLayout>
+ <!--
+ available characters are NDSLIMC, each can occur at most once.
+ N: window icon
+ L: window label (AKA title).
+ I: iconify
+ M: maximize
+ C: close
+ S: shade (roll up/down)
+ D: omnipresent (on all desktops).
+ -->
+ <keepBorder>no</keepBorder>
+ <animateIconify>yes</animateIconify>
+ <font place="ActiveWindow">
+ <name>Montserrat Semi-Bold</name>
+ <size>8</size>
+ <!-- font size in points -->
+ <weight>Normal</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>Normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="InactiveWindow">
+ <name>Montserrat Semi-Bold</name>
+ <size>8</size>
+ <!-- font size in points -->
+ <weight>Normal</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>Normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="MenuHeader">
+ <name>Montserrat Semi-Bold</name>
+ <size>9</size>
+ <!-- font size in points -->
+ <weight>Normal</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>Normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="MenuItem">
+ <name>Montserrat Semi-Bold</name>
+ <size>9</size>
+ <!-- font size in points -->
+ <weight>Normal</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>Normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="ActiveOnScreenDisplay">
+ <name>Montserrat Ultra-Bold</name>
+ <size>9</size>
+ <!-- font size in points -->
+ <weight>Normal</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>Normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="InactiveOnScreenDisplay">
+ <name>Montserrat Ultra-Bold</name>
+ <size>9</size>
+ <!-- font size in points -->
+ <weight>Normal</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>Normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ </theme>
+ <desktops>
+ <number>10</number>
+ <firstdesk>1</firstdesk>
+ <names>
+ <name>I</name>
+ <name>II</name>
+ <name>III</name>
+ <name>IV</name>
+ <name>V</name>
+ <name>VI</name>
+ <name>VII</name>
+ <name>VIII</name>
+ <name>IX</name>
+ <name>X</name>
+ </names>
+ <popupTime>875</popupTime>
+ </desktops>
+ <resize>
+ <drawContents>yes</drawContents>
+ <popupShow>Nonpixel</popupShow>
+ <!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
+ <popupPosition>Center</popupPosition>
+ <!-- 'Center', 'Top', or 'Fixed' -->
+ <popupFixedPosition>
+ <!-- these are used if popupPosition is set to 'Fixed' -->
+ <x>10</x>
+ <!-- positive number for distance from left edge, negative number for
+ distance from right edge, or 'Center' -->
+ <y>10</y>
+ <!-- positive number for distance from top edge, negative number for
+ distance from bottom edge, or 'Center' -->
+ </popupFixedPosition>
+ </resize>
+ <!-- You can reserve a portion of your screen where windows will not cover when
+ they are maximized, or when they are initially placed.
+ Many programs reserve space automatically, but you can use this in other
+ cases. -->
+ <margins>
+ <top>0</top>
+ <bottom>30</bottom>
+ <left>0</left>
+ <right>0</right>
+ </margins>
+ <dock>
+ <position>Bottom</position>
+ <!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
+ <floatingX>218</floatingX>
+ <floatingY>0</floatingY>
+ <noStrut>no</noStrut>
+ <stacking>Above</stacking>
+ <!-- 'Above', 'Normal', or 'Below' -->
+ <direction>Vertical</direction>
+ <!-- 'Vertical' or 'Horizontal' -->
+ <autoHide>no</autoHide>
+ <hideDelay>300</hideDelay>
+ <!-- in milliseconds (1000 = 1 second) -->
+ <showDelay>300</showDelay>
+ <!-- in milliseconds (1000 = 1 second) -->
+ <moveButton>Middle</moveButton>
+ <!-- 'Left', 'Middle', 'Right' -->
+ </dock>
+ <keyboard>
+ <keybind key="W-Left"> # HalfLeftScreen
+
+ <action name="UnmaximizeFull"/>
+ <action name="MoveResizeTo">
+ <x>0</x>
+ <y>0</y>
+ <height>100%</height>
+ <width>50%</width>
+ </action>
+ </keybind>
+ <keybind key="W-Right"> # HalfRightScreen
+
+ <action name="UnmaximizeFull"/>
+ <action name="MoveResizeTo">
+ <x>-0</x>
+ <y>0</y>
+ <height>100%</height>
+ <width>50%</width>
+ </action>
+ </keybind>
+ <keybind key="W-Up"> # HalfUpperScreen
+
+ <action name="UnmaximizeFull"/>
+ <action name="MoveResizeTo">
+ <x>0</x>
+ <y>0</y>
+ <width>100%</width>
+ <height>50%</height>
+ </action>
+ </keybind>
+ <keybind key="W-Down"> # HalfLowerScreen
+
+ <action name="UnmaximizeFull"/>
+ <action name="MoveResizeTo">
+ <x>0</x>
+ <y>-0</y>
+ <width>100%</width>
+ <height>50%</height>
+ </action>
+ </keybind>
+ <keybind key="W-S-1">
+ <action name="SendToDesktop">
+ <to>1</to>
+ <follow>no</follow>
+ </action>
+ </keybind>
+ <keybind key="W-S-2">
+ <action name="SendToDesktop">
+ <to>2</to>
+ <follow>no</follow>
+ </action>
+ </keybind>
+ <keybind key="W-S-3">
+ <action name="SendToDesktop">
+ <to>3</to>
+ <follow>no</follow>
+ </action>
+ </keybind>
+ <keybind key="W-S-4">
+ <action name="SendToDesktop">
+ <to>4</to>
+ <follow>no</follow>
+ </action>
+ </keybind>
+ <keybind key="W-S-5">
+ <action name="SendToDesktop">
+ <to>5</to>
+ <follow>no</follow>
+ </action>
+ </keybind>
+ <keybind key="W-S-6">
+ <action name="SendToDesktop">
+ <to>6</to>
+ <follow>no</follow>
+ </action>
+ </keybind>
+ <keybind key="W-S-7">
+ <action name="SendToDesktop">
+ <to>7</to>
+ <follow>no</follow>
+ </action>
+ </keybind>
+ <keybind key="W-S-8">
+ <action name="SendToDesktop">
+ <to>8</to>
+ <follow>no</follow>
+ </action>
+ </keybind>
+ <keybind key="W-S-9">
+ <action name="SendToDesktop">
+ <to>9</to>
+ <follow>no</follow>
+ </action>
+ </keybind>
+ <keybind key="W-S-0">
+ <action name="SendToDesktop">
+ <to>10</to>
+ <follow>no</follow>
+ </action>
+ </keybind>
+ <!-- Launch Applications -->
+ <keybind key="W-Return">
+ <action name="Execute">
+ <command>wezterm</command>
+ </action>
+ </keybind>
+ <keybind key="W-S-Return">
+ <action name="Execute">
+ <command>dmenu_run</command>
+ </action>
+ </keybind>
+ <keybind key="W-S-r">
+ <action name="Execute">
+ <command>openbox --restart</command>
+ </action>
+ </keybind>
+ <keybind key="W-S-o">
+ <action name="Execute">
+ <command>brave</command>
+ </action>
+ </keybind>
+ <keybind key="W-S-m">
+ <action name="Execute">
+ <command>mailspring --password-store="gnome-libsecret"</command>
+ </action>
+ </keybind>
+ <keybind key="W-S-d">
+ <action name="Execute">
+ <command>discord-canary</command>
+ </action>
+ </keybind>
+ <keybind key="W-S-b">
+ <action name="Execute">
+ <command>blueman-manager</command>
+ </action>
+ </keybind>
+ <keybind key="W-S-S">
+ <action name="Execute">
+ <command>flameshot gui</command>
+ </action>
+ </keybind>
+ <keybind key="W-S-p">
+ <action name="Execute">
+ <command>pavucontrol</command>
+ </action>
+ </keybind>
+ <keybind key="W-S-q">
+ <action name="Close"/>
+ </keybind>
+ <chainQuitKey>C-g</chainQuitKey>
+ <keybind key="W-h">
+ <action name="GoToDesktop">
+ <to>left</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="W-l">
+ <action name="GoToDesktop">
+ <to>right</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="W-k">
+ <action name="GoToDesktop">
+ <to>up</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="W-j">
+ <action name="GoToDesktop">
+ <to>down</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="W-S-h">
+ <action name="SendToDesktop">
+ <to>left</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="W-S-l">
+ <action name="SendToDesktop">
+ <to>right</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="W-S-k">
+ <action name="SendToDesktop">
+ <to>up</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="W-S-j">
+ <action name="SendToDesktop">
+ <to>down</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="W-1">
+ <action name="GoToDesktop">
+ <to>1</to>
+ </action>
+ </keybind>
+ <keybind key="W-2">
+ <action name="GoToDesktop">
+ <to>2</to>
+ </action>
+ </keybind>
+ <keybind key="W-3">
+ <action name="GoToDesktop">
+ <to>3</to>
+ </action>
+ </keybind>
+ <keybind key="W-4">
+ <action name="GoToDesktop">
+ <to>4</to>
+ </action>
+ </keybind>
+ <keybind key="W-5">
+ <action name="GoToDesktop">
+ <to>5</to>
+ </action>
+ </keybind>
+ <keybind key="W-6">
+ <action name="GoToDesktop">
+ <to>6</to>
+ </action>
+ </keybind>
+ <keybind key="W-7">
+ <action name="GoToDesktop">
+ <to>7</to>
+ </action>
+ </keybind>
+ <keybind key="W-8">
+ <action name="GoToDesktop">
+ <to>8</to>
+ </action>
+ </keybind>
+ <keybind key="W-9">
+ <action name="GoToDesktop">
+ <to>9</to>
+ </action>
+ </keybind>
+ <keybind key="W-0">
+ <action name="GoToDesktop">
+ <to>10</to>
+ </action>
+ </keybind>
+ <keybind key="W-d">
+ <action name="ToggleShowDesktop"/>
+ </keybind>
+ <!-- Keybindings for windows -->
+ <keybind key="A-F4">
+ <action name="Close"/>
+ </keybind>
+ <keybind key="A-Escape">
+ <action name="Lower"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </keybind>
+ <keybind key="A-space">
+ <action name="ShowMenu">
+ <menu>client-menu</menu>
+ </action>
+ </keybind>
+ <!-- Keybindings for window switching -->
+ <keybind key="W-Tab">
+ <action name="NextWindow">
+ <finalactions>
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </finalactions>
+ </action>
+ </keybind>
+ <keybind key="W-S-Tab">
+ <action name="PreviousWindow">
+ <finalactions>
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </finalactions>
+ </action>
+ </keybind>
+ <keybind key="C-W-Tab">
+ <action name="NextWindow">
+ <panels>yes</panels>
+ <desktop>yes</desktop>
+ <finalactions>
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </finalactions>
+ </action>
+ </keybind>
+ <!-- Keybindings for window switching with the arrow keys -->
+ <keybind key="W-S-Right">
+ <action name="DirectionalCycleWindows">
+ <direction>right</direction>
+ </action>
+ </keybind>
+ <keybind key="W-S-Left">
+ <action name="DirectionalCycleWindows">
+ <direction>left</direction>
+ </action>
+ </keybind>
+ <keybind key="W-S-Up">
+ <action name="DirectionalCycleWindows">
+ <direction>up</direction>
+ </action>
+ </keybind>
+ <keybind key="W-S-Down">
+ <action name="DirectionalCycleWindows">
+ <direction>down</direction>
+ </action>
+ </keybind>
+ <!-- Keybindings for running applications -->
+ <keybind key="W-e">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>true</enabled>
+ <name>Konqueror</name>
+ </startupnotify>
+ <command>kfmclient openProfile filemanagement</command>
+ </action>
+ </keybind>
+ </keyboard>
+ <mouse>
+ <dragThreshold>1</dragThreshold>
+ <!-- number of pixels the mouse must move before a drag begins -->
+ <doubleClickTime>500</doubleClickTime>
+ <!-- in milliseconds (1000 = 1 second) -->
+ <screenEdgeWarpTime>0</screenEdgeWarpTime>
+ <!-- Time before changing desktops when the pointer touches the edge of the
+ screen while moving a window, in milliseconds (1000 = 1 second).
+ Set this to 0 to disable warping -->
+ <screenEdgeWarpMouse>false</screenEdgeWarpMouse>
+ <!-- Set this to TRUE to move the mouse pointer across the desktop when
+ switching due to hitting the edge of the screen -->
+ <context name="Frame">
+ <mousebind button="W-Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="W-Left" action="Click">
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="W-Left" action="Drag">
+ <action name="Move"/>
+ </mousebind>
+ <mousebind button="W-Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="W-Right" action="Drag">
+ <action name="Resize"/>
+ </mousebind>
+ <mousebind button="W-Middle" action="Press">
+ <action name="Lower"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </mousebind>
+ <mousebind button="W-Up" action="Click">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind button="W-Down" action="Click">
+ <action name="GoToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ <mousebind button="C-W-Up" action="Click">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind button="C-W-Down" action="Click">
+ <action name="GoToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ <mousebind button="W-S-Up" action="Click">
+ <action name="SendToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind button="W-S-Down" action="Click">
+ <action name="SendToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Titlebar">
+ <mousebind button="Left" action="Drag">
+ <action name="Move"/>
+ </mousebind>
+ <mousebind button="Left" action="DoubleClick">
+ <action name="ToggleMaximize"/>
+ </mousebind>
+ <mousebind button="Up" action="Click">
+ <action name="if">
+ <shaded>no</shaded>
+ <then>
+ <action name="Shade"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ <action name="Lower"/>
+ </then>
+ </action>
+ </mousebind>
+ <mousebind button="Down" action="Click">
+ <action name="if">
+ <shaded>yes</shaded>
+ <then>
+ <action name="Unshade"/>
+ <action name="Raise"/>
+ </then>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Titlebar Top Right Bottom Left TLCorner TRCorner BRCorner BLCorner">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Middle" action="Press">
+ <action name="Lower"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="ShowMenu">
+ <menu>client-menu</menu>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Top">
+ <mousebind button="Left" action="Drag">
+ <action name="Resize">
+ <edge>top</edge>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Left">
+ <mousebind button="Left" action="Drag">
+ <action name="Resize">
+ <edge>left</edge>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Right">
+ <mousebind button="Left" action="Drag">
+ <action name="Resize">
+ <edge>right</edge>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Bottom">
+ <mousebind button="Left" action="Drag">
+ <action name="Resize">
+ <edge>bottom</edge>
+ </action>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="ShowMenu">
+ <menu>client-menu</menu>
+ </action>
+ </mousebind>
+ </context>
+ <context name="TRCorner BRCorner TLCorner BLCorner">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize"/>
+ </mousebind>
+ </context>
+ <context name="Client">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Middle" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ </context>
+ <context name="Icon">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ <action name="ShowMenu">
+ <menu>client-menu</menu>
+ </action>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="ShowMenu">
+ <menu>client-menu</menu>
+ </action>
+ </mousebind>
+ </context>
+ <context name="AllDesktops">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="ToggleOmnipresent"/>
+ </mousebind>
+ </context>
+ <context name="Shade">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="ToggleShade"/>
+ </mousebind>
+ </context>
+ <context name="Iconify">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="Iconify"/>
+ </mousebind>
+ </context>
+ <context name="Maximize">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Middle" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="ToggleMaximize"/>
+ </mousebind>
+ <mousebind button="Middle" action="Click">
+ <action name="ToggleMaximize">
+ <direction>vertical</direction>
+ </action>
+ </mousebind>
+ <mousebind button="Right" action="Click">
+ <action name="ToggleMaximize">
+ <direction>horizontal</direction>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Close">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="Close"/>
+ </mousebind>
+ </context>
+ <context name="Desktop">
+ <mousebind button="Up" action="Click">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind button="Down" action="Click">
+ <action name="GoToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ <mousebind button="A-Up" action="Click">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind button="A-Down" action="Click">
+ <action name="GoToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ <mousebind button="C-A-Up" action="Click">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind button="C-A-Down" action="Click">
+ <action name="GoToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ </context>
+ <context name="Root"></context>
+ <context name="MoveResize">
+ <mousebind button="Up" action="Click">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind button="Down" action="Click">
+ <action name="GoToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ <mousebind button="A-Up" action="Click">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind button="A-Down" action="Click">
+ <action name="GoToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ </context>
+ </mouse>
+ <menu>
+ <!-- You can specify more than one menu file in here and they are all loaded,
+ just don't make menu ids clash or, well, it'll be kind of pointless -->
+ <!-- default menu file (or custom one in $HOME/.config/openbox/) -->
+ <file>menu.xml</file>
+ <hideDelay>200</hideDelay>
+ <!-- if a press-release lasts longer than this setting (in milliseconds), the
+ menu is hidden again -->
+ <middle>no</middle>
+ <!-- center submenus vertically about the parent entry -->
+ <submenuShowDelay>100</submenuShowDelay>
+ <!-- time to delay before showing a submenu after hovering over the parent
+ entry.
+ if this is a negative value, then the delay is infinite and the
+ submenu will not be shown until it is clicked on -->
+ <submenuHideDelay>400</submenuHideDelay>
+ <!-- time to delay before hiding a submenu when selecting another
+ entry in parent menu
+ if this is a negative value, then the delay is infinite and the
+ submenu will not be hidden until a different submenu is opened -->
+ <showIcons>yes</showIcons>
+ <!-- controls if icons appear in the client-list-(combined-)menu -->
+ <manageDesktops>yes</manageDesktops>
+ <!-- show the manage desktops section in the client-list-(combined-)menu -->
+ </menu>
+ <applications>
+ <!--
+ # this is an example with comments through out. use these to make your
+ # own rules, but without the comments of course.
+ # you may use one or more of the name/class/role/title/type rules to specify
+ # windows to match
+
+ <application name="the window's _OB_APP_NAME property (see obxprop)"
+ class="the window's _OB_APP_CLASS property (see obxprop)"
+ groupname="the window's _OB_APP_GROUP_NAME property (see obxprop)"
+ groupclass="the window's _OB_APP_GROUP_CLASS property (see obxprop)"
+ role="the window's _OB_APP_ROLE property (see obxprop)"
+ title="the window's _OB_APP_TITLE property (see obxprop)"
+ type="the window's _OB_APP_TYPE property (see obxprob)..
+ (if unspecified, then it is 'dialog' for child windows)">
+ # you may set only one of name/class/role/title/type, or you may use more
+ # than one together to restrict your matches.
+
+ # the name, class, role, and title use simple wildcard matching such as those
+ # used by a shell. you can use * to match any characters and ? to match
+ # any single character.
+
+ # the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
+ # or desktop
+
+ # when multiple rules match a window, they will all be applied, in the
+ # order that they appear in this list
+
+
+ # each rule element can be left out or set to 'default' to specify to not
+ # change that attribute of the window
+
+ # enable or disable window decorations
+
+ <shade>no</shade>
+ # make the window shaded when it appears, or not
+
+ <position force="no">
+ # the position is only used if both an x and y coordinate are provided
+ # (and not set to 'default')
+ # when force is "yes", then the window will be placed here even if it
+ # says you want it placed elsewhere. this is to override buggy
+ # applications who refuse to behave
+ <x>center</x>
+ # a number like 50, or 'center' to center on screen. use a negative number
+ # to start from the right (or bottom for <y>), ie -50 is 50 pixels from
+ # the right edge (or bottom). use 'default' to specify using value
+ # provided by the application, or chosen by openbox, instead.
+ <y>200</y><monitor>1</monitor>
+ # specifies the monitor in a xinerama setup.
+ # 1 is the first head, or 'mouse' for wherever the mouse is
+ </position><size>
+ # the size to make the window.
+ <width>20</width>
+ # a number like 20, or 'default' to use the size given by the application.
+ # you can use fractions such as 1/2 or percentages such as 75% in which
+ # case the value is relative to the size of the monitor that the window
+ # appears on.
+ <height>30%</height></size><focus>yes</focus>
+ # if the window should try be given focus when it appears. if this is set
+ # to yes it doesn't guarantee the window will be given focus. some
+ # restrictions may apply, but Openbox will try to
+
+ <desktop>1</desktop>
+ # 1 is the first desktop, 'all' for all desktops
+
+ <layer>normal</layer>
+ # 'above', 'normal', or 'below'
+
+ <iconic>no</iconic>
+ # make the window iconified when it appears, or not
+
+ <skip_pager>no</skip_pager>
+ # asks to not be shown in pagers
+
+ <skip_taskbar>no</skip_taskbar>
+ # asks to not be shown in taskbars. window cycling actions will also
+ # skip past such windows
+
+ <fullscreen>yes</fullscreen>
+ # make the window in fullscreen mode when it appears
+
+ <maximized>true</maximized>
+ # 'Horizontal', 'Vertical' or boolean (yes/no)
+ </application>
+
+ # end of the example
+-->
+ </applications>
+</openbox_config>
+
diff --git a/.config/picom/picom.conf b/.config/picom/picom.conf
new file mode 100644
index 0000000..e8a2287
--- /dev/null
+++ b/.config/picom/picom.conf
@@ -0,0 +1,429 @@
+#################################
+# Shadows #
+#################################
+
+
+# Enabled client-side shadows on windows. Note desktop windows
+# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
+# unless explicitly requested using the wintypes option.
+#
+# shadow = false
+shadow = true;
+
+# The blur radius for shadows, in pixels. (defaults to 12)
+# shadow-radius = 12
+shadow-radius = 7;
+
+# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
+# shadow-opacity = .75
+
+# The left offset for shadows, in pixels. (defaults to -15)
+# shadow-offset-x = -15
+shadow-offset-x = -7;
+
+# The top offset for shadows, in pixels. (defaults to -15)
+# shadow-offset-y = -15
+shadow-offset-y = -7;
+
+# Red color value of shadow (0.0 - 1.0, defaults to 0).
+# shadow-red = 0
+
+# Green color value of shadow (0.0 - 1.0, defaults to 0).
+# shadow-green = 0
+
+# Blue color value of shadow (0.0 - 1.0, defaults to 0).
+# shadow-blue = 0
+
+# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
+# shadow-color = "#000000"
+
+# Specify a list of conditions of windows that should have no shadow.
+#
+# examples:
+# shadow-exclude = "n:e:Notification";
+#
+# shadow-exclude = []
+shadow-exclude = [
+ "name = 'Notification'",
+ "class_g = 'Conky'",
+ "class_g ?= 'Notify-osd'",
+ "class_g = 'Cairo-clock'",
+ "_GTK_FRAME_EXTENTS@:c"
+];
+
+# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window.
+# clip-shadow-above = []
+
+# Specify a X geometry that describes the region in which shadow should not
+# be painted in, such as a dock window region. Use
+# shadow-exclude-reg = "x10+0+0"
+# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
+#
+# shadow-exclude-reg = ""
+
+# Crop shadow of a window fully on a particular Xinerama screen to the screen.
+# xinerama-shadow-crop = false
+
+
+#################################
+# Fading #
+#################################
+
+
+# Fade windows in/out when opening/closing and when opacity changes,
+# unless no-fading-openclose is used.
+# fading = false
+fading = false;
+
+# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
+# fade-in-step = 0.028
+fade-in-step = 0.03;
+
+# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
+# fade-out-step = 0.03
+fade-out-step = 0.03;
+
+# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
+# fade-delta = 10
+
+# Specify a list of conditions of windows that should not be faded.
+# fade-exclude = []
+
+# Do not fade on window open/close.
+# no-fading-openclose = false
+
+# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
+# no-fading-destroyed-argb = false
+
+
+#################################
+# Transparency / Opacity #
+#################################
+
+
+# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
+# inactive-opacity = 1
+inactive-opacity = 0.95;
+
+# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
+# frame-opacity = 1.0
+frame-opacity = 0.9;
+
+# Let inactive opacity set by -i override the '_NET_WM_WINDOW_OPACITY' values of windows.
+# inactive-opacity-override = true
+inactive-opacity-override = false;
+
+# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
+# active-opacity = 1.0
+
+# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
+# inactive-dim = 0.0
+
+# Specify a list of conditions of windows that should never be considered focused.
+# focus-exclude = []
+focus-exclude = [ "class_g = 'Cairo-clock'" ];
+
+# Use fixed inactive dim value, instead of adjusting according to window opacity.
+# inactive-dim-fixed = 1.0
+
+# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
+# like `50:name *= "Firefox"`. picom-trans is recommended over this.
+# Note we don't make any guarantee about possible conflicts with other
+# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
+# example:
+# opacity-rule = [ "80:class_g = 'URxvt'" ];
+#
+# opacity-rule = []
+
+
+#################################
+# Corners #
+#################################
+
+# Sets the radius of rounded window corners. When > 0, the compositor will
+# round the corners of windows. Does not interact well with
+# `transparent-clipping`.
+corner-radius = 12
+
+# Exclude conditions for rounded corners.
+rounded-corners-exclude = [
+ "window_type = 'dock'",
+ "window_type = 'desktop'"
+];
+
+
+#################################
+# Background-Blurring #
+#################################
+
+
+# Parameters for background blurring, see the *BLUR* section for more information.
+# blur-method =
+# blur-size = 12
+#
+# blur-deviation = false
+#
+# blur-strength = 5
+
+# Blur background of semi-transparent / ARGB windows.
+# Bad in performance, with driver-dependent behavior.
+# The name of the switch may change without prior notifications.
+#
+# blur-background = false
+
+# Blur background of windows when the window frame is not opaque.
+# Implies:
+# blur-background
+# Bad in performance, with driver-dependent behavior. The name may change.
+#
+# blur-background-frame = false
+
+
+# Use fixed blur strength rather than adjusting according to window opacity.
+# blur-background-fixed = false
+
+
+# Specify the blur convolution kernel, with the following format:
+# example:
+# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
+#
+# blur-kern = ""
+blur-kern = "3x3box";
+
+
+# Exclude conditions for background blur.
+# blur-background-exclude = []
+blur-background-exclude = [
+ "window_type = 'dock'",
+ "window_type = 'desktop'",
+ "_GTK_FRAME_EXTENTS@:c"
+];
+
+#################################
+# General Settings #
+#################################
+
+# Enable remote control via D-Bus. See the man page for more details.
+# dbus = true
+
+# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
+# daemon = false
+
+# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
+# `xrender` is the default one.
+#
+# backend = "glx"
+backend = "glx";
+
+# Enable/disable VSync.
+# vsync = false
+vsync = true;
+
+# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
+# dbus = false
+
+# Try to detect WM windows (a non-override-redirect window with no
+# child that has 'WM_STATE') and mark them as active.
+#
+# mark-wmwin-focused = false
+mark-wmwin-focused = true;
+
+# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
+# mark-ovredir-focused = false
+mark-ovredir-focused = true;
+
+# Try to detect windows with rounded corners and don't consider them
+# shaped windows. The accuracy is not very high, unfortunately.
+#
+# detect-rounded-corners = false
+detect-rounded-corners = true;
+
+# Detect '_NET_WM_WINDOW_OPACITY' on client windows, useful for window managers
+# not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows.
+#
+# detect-client-opacity = false
+detect-client-opacity = true;
+
+# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
+# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
+# provided that the WM supports it.
+#
+# use-ewmh-active-win = false
+
+# Unredirect all windows if a full-screen opaque window is detected,
+# to maximize performance for full-screen windows. Known to cause flickering
+# when redirecting/unredirecting windows.
+#
+# unredir-if-possible = false
+
+# Delay before unredirecting the window, in milliseconds. Defaults to 0.
+# unredir-if-possible-delay = 0
+
+# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
+# unredir-if-possible-exclude = []
+
+# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
+# in the same group focused at the same time.
+#
+# detect-transient = false
+detect-transient = true;
+
+# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
+# group focused at the same time. This usually means windows from the same application
+# will be considered focused or unfocused at the same time.
+# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
+#
+# detect-client-leader = false
+
+# Resize damaged region by a specific number of pixels.
+# A positive value enlarges it while a negative one shrinks it.
+# If the value is positive, those additional pixels will not be actually painted
+# to screen, only used in blur calculation, and such. (Due to technical limitations,
+# with use-damage, those pixels will still be incorrectly painted to screen.)
+# Primarily used to fix the line corruption issues of blur,
+# in which case you should use the blur radius value here
+# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
+# with a 5x5 one you use `--resize-damage 2`, and so on).
+# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
+#
+# resize-damage = 1
+
+# Specify a list of conditions of windows that should be painted with inverted color.
+# Resource-hogging, and is not well tested.
+#
+# invert-color-include = []
+
+# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
+# Might cause incorrect opacity when rendering transparent content (but never
+# practically happened) and may not work with blur-background.
+# My tests show a 15% performance boost. Recommended.
+#
+glx-no-stencil = true;
+
+# GLX backend: Avoid rebinding pixmap on window damage.
+# Probably could improve performance on rapid window content changes,
+# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
+# Recommended if it works.
+#
+# glx-no-rebind-pixmap = false
+
+# Disable the use of damage information.
+# This cause the whole screen to be redrawn every time, instead of the part of the screen
+# has actually changed. Potentially degrades the performance, but might fix some artifacts.
+# The opposing option is use-damage
+#
+# no-use-damage = false
+use-damage = true;
+
+# Use X Sync fence to sync clients' draw calls, to make sure all draw
+# calls are finished before picom starts drawing. Needed on nvidia-drivers
+# with GLX backend for some users.
+#
+# xrender-sync-fence = false
+
+# GLX backend: Use specified GLSL fragment shader for rendering window
+# contents. Read the man page for a detailed explanation of the interface.
+#
+# window-shader-fg = "default"
+
+# Use rules to set per-window shaders. Syntax is SHADER_PATH:PATTERN, similar
+# to opacity-rule. SHADER_PATH can be "default". This overrides window-shader-fg.
+#
+# window-shader-fg-rule = [
+# "my_shader.frag:window_type != 'dock'"
+# ]
+
+# Force all windows to be painted with blending. Useful if you
+# have a glx-fshader-win that could turn opaque pixels transparent.
+#
+# force-win-blend = false
+
+# Do not use EWMH to detect fullscreen windows.
+# Reverts to checking if a window is fullscreen based only on its size and coordinates.
+#
+# no-ewmh-fullscreen = false
+
+# Dimming bright windows so their brightness doesn't exceed this set value.
+# Brightness of a window is estimated by averaging all pixels in the window,
+# so this could comes with a performance hit.
+# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
+#
+# max-brightness = 1.0
+
+# Make transparent windows clip other windows like non-transparent windows do,
+# instead of blending on top of them.
+#
+# transparent-clipping = false
+
+# Specify a list of conditions of windows that should never have transparent
+# clipping applied. Useful for screenshot tools, where you need to be able to
+# see through transparent parts of the window.
+#
+# transparent-clipping-exclude = []
+
+# Set the log level. Possible values are:
+# "trace", "debug", "info", "warn", "error"
+# in increasing level of importance. Case doesn't matter.
+# If using the "TRACE" log level, it's better to log into a file
+# using *--log-file*, since it can generate a huge stream of logs.
+#
+# log-level = "debug"
+log-level = "warn";
+
+# Set the log file.
+# If *--log-file* is never specified, logs will be written to stderr.
+# Otherwise, logs will to written to the given file, though some of the early
+# logs might still be written to the stderr.
+# When setting this option from the config file, it is recommended to use an absolute path.
+#
+# log-file = "/path/to/your/log/file"
+
+# Show all X errors (for debugging)
+# show-all-xerrors = false
+
+# Write process ID to a file.
+# write-pid-path = "/path/to/your/log/file"
+
+# Window type settings
+#
+# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
+# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
+# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
+# "tooltip", "notification", "combo", and "dnd".
+#
+# Following per window-type options are available: ::
+#
+# fade, shadow:::
+# Controls window-type-specific shadow and fade settings.
+#
+# opacity:::
+# Controls default opacity of the window type.
+#
+# focus:::
+# Controls whether the window of this type is to be always considered focused.
+# (By default, all window types except "normal" and "dialog" has this on.)
+#
+# full-shadow:::
+# Controls whether shadow is drawn under the parts of the window that you
+# normally won't be able to see. Useful when the window has parts of it
+# transparent, and you want shadows in those areas.
+#
+# clip-shadow-above:::
+# Controls whether shadows that would have been drawn above the window should
+# be clipped. Useful for dock windows that should have no shadow painted on top.
+#
+# redir-ignore:::
+# Controls whether this type of windows should cause screen to become
+# redirected again after been unredirected. If you have unredir-if-possible
+# set, and doesn't want certain window to cause unnecessary screen redirection,
+# you can set this to `true`.
+#
+wintypes:
+{
+ tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
+ dock = { shadow = false; clip-shadow-above = true; }
+ dnd = { shadow = false; }
+ popup_menu = { opacity = 0.8; }
+ dropdown_menu = { opacity = 0.8; }
+};
+
diff --git a/.config/polybar/config b/.config/polybar/config
new file mode 100644
index 0000000..fc73f6f
--- /dev/null
+++ b/.config/polybar/config
@@ -0,0 +1,185 @@
+[colors]
+# background = #19160a
+# background-alt = #3a3730
+# primary = #e7d581
+# secondary = #8ABEB7
+
+background = #000000
+background-alt = #111111
+foreground = #C5C8C6
+primary = #CCCCCC
+secondary = #AAAAAA
+alert = #A54242
+disabled = #707880
+
+[bar/main]
+width = 100%
+height = 24pt
+
+bottom = true
+border-size = 0
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 3pt
+border-color = #00000000
+
+padding-right = 1
+module-margin = 1
+
+separator = |
+separator-foreground = ${colors.disabled}
+
+font-0 = "Mononoki Nerd Font:size=12;2"
+font-1 = "feather:size=12;3"
+
+modules-left = xworkspaces xwindow
+modules-right = pulseaudio memory cpu wlan eth battery date tray
+
+monitor = ${env:MONITOR}
+cursor-click = pointer
+enable-ipc = true
+
+[global/wm]
+margin-top = 0
+padding-top = 0
+margin-bottom = 0
+padding-bottom = 0
+
+[module/xworkspaces]
+type = internal/xworkspaces
+
+label-active = %name%
+label-active-background = ${colors.background-alt}
+label-active-underline= ${colors.primary}
+label-active-padding = 1
+
+label-occupied = %name%
+label-occupied-padding = 1
+
+label-urgent = %name%
+label-urgent-background = ${colors.alert}
+label-urgent-padding = 1
+
+label-empty = %name%
+label-empty-foreground = ${colors.disabled}
+label-empty-padding = 1
+
+[module/xwindow]
+type = internal/xwindow
+label = %title:0:60:...%
+
+[module/pulseaudio]
+type = internal/pulseaudio
+
+format-volume-prefix-foreground = ${colors.primary}
+format-volume = <ramp-volume><label-volume>
+
+label-volume = %percentage%
+
+label-muted = 
+label-muted-foreground = ${colors.disabled}
+
+ramp-volume-0 = " "
+ramp-volume-1 = " "
+ramp-volume-2 = " "
+ramp-volume-foreground = ${colors.primary}
+
+[module/memory]
+type = internal/memory
+interval = 2
+format-prefix = "󰍛 "
+format-prefix-foreground = ${colors.primary}
+label = %percentage_used:2%%
+
+[module/cpu]
+type = internal/cpu
+interval = 2
+format-prefix = "󰻠 "
+format-prefix-foreground = ${colors.primary}
+label = %percentage:2%%
+
+[network-base]
+type = internal/network
+interval = 5
+format-connected = <label-connected>
+format-disconnected = <label-disconnected>
+
+[module/wlan]
+inherit = network-base
+interface-type = wireless
+
+label-connected = %{F#F0C674}%{F-} %essid% %local_ip%
+label-disconnected = %{F#707880}󰖪 %{F-}
+
+[module/eth]
+inherit = network-base
+interface-type = wired
+
+label-connected = %{F#F0C674}󰈁%{F-} %local_ip%
+label-disconnected = %{F#707880}󰈂 %{F-}
+
+[module/date]
+type = internal/date
+interval = 1
+
+date = %H:%M
+date-alt = %Y-%m-%d %I:%M:%S
+
+label = %date%
+label-foreground = ${colors.primary}
+
+[module/battery]
+type = internal/battery
+full-at = 96
+
+battery = BAT0
+adapter = AC0
+
+format-charging = <animation-charging> <label-charging>
+format-discharging = <ramp-capacity> <label-discharging>
+
+label-charging = %percentage%%
+label-discharging = %percentage%%
+label-full = %percentage%%
+label-low = %percentage%%
+
+ramp-capacity-0 = 
+ramp-capacity-1 = 
+ramp-capacity-2 = 
+ramp-capacity-3 = 
+ramp-capacity-4 = 
+
+bar-capacity-width = 10
+
+animation-charging-0 = 
+animation-charging-1 = 
+animation-charging-2 = 
+animation-charging-3 = 
+animation-charging-4 = 
+animation-charging-framerate = 750
+
+animation-discharging-0 = 
+animation-discharging-1 = 
+animation-discharging-2 = 
+animation-discharging-3 = 
+animation-discharging-4 = 
+animation-discharging-framerate = 500
+
+animation-low-0 = !
+animation-low-1 =
+animation-low-framerate = 201
+
+[module/tray]
+type = internal/tray
+
+format-margin = 8px
+tray-spacing = 8px
+
+[settings]
+screenchange-reload = true
+pseudo-transparency = true
+
+; vim:ft=dosini
+
diff --git a/.config/polybar/launch.sh b/.config/polybar/launch.sh
new file mode 100644
index 0000000..d54ff76
--- /dev/null
+++ b/.config/polybar/launch.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+killall -q polybar
+while pgrep -u $UID -x polybar >/dev/null; do : ; done
+
+for m in $(polybar --list-monitors | cut -d":" -f1); do
+ WIRELESS=$(ls /sys/class/net/ | grep ^wl | awk 'NR==1{print $1}') MONITOR=$m polybar --reload main &
+done
+
diff --git a/.config/startup.sh b/.config/startup.sh
new file mode 100644
index 0000000..6b685bb
--- /dev/null
+++ b/.config/startup.sh
@@ -0,0 +1,25 @@
+#!/usr/bin/env sh
+
+WALLPAPER="rita.jpg"
+
+xrandr --output HDMI-0 --right-of eDP-1-1 --dpi 96 --auto --primary \
+ --output eDP-1-1 --dpi 96 --auto
+feh --bg-fill --no-fehbg $HOME/Pictures/Wallpapers/$WALLPAPER
+
+dunst &
+picom -b
+
+flameshot &
+blueman-applet &
+mailspring --password-store="gnome-libsecret" -b &
+
+rogauracore white
+rogauracore brightness 3
+
+xset -dpms
+xset s off
+
+sh $HOME/.config/polybar/launch.sh
+
+sleep 1
+
diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua
new file mode 100644
index 0000000..3cb86f6
--- /dev/null
+++ b/.config/wezterm/wezterm.lua
@@ -0,0 +1,59 @@
+local wezterm = require('wezterm')
+local config = {}
+
+if wezterm.config_builder then
+ config = wezterm.config_builder()
+end
+
+config.font = wezterm.font {
+ family = 'Gintronic',
+ weight = 'Book',
+}
+
+config.tab_bar_at_bottom = true
+config.use_fancy_tab_bar = false
+config.warn_about_missing_glyphs = false
+config.hide_tab_bar_if_only_one_tab = true
+config.enable_bidi = true
+
+config.colors = {
+ cursor_bg = '#bcdba0',
+
+ tab_bar = {
+ background = '#000000',
+ active_tab = {
+ bg_color = '#1a1a1a',
+ fg_color = '#c0c0c0',
+ },
+
+ inactive_tab = {
+ bg_color = '#000000',
+ fg_color = '#808080',
+ },
+
+ inactive_tab_hover = {
+ bg_color = '#111111',
+ fg_color = '#909090',
+ },
+
+ new_tab = {
+ bg_color = '#000000',
+ fg_color = '#808080',
+ },
+
+ new_tab_hover = {
+ bg_color = '#111111',
+ fg_color = '#909090',
+ },
+ },
+}
+
+config.window_padding = {
+ left = 10,
+ right = 10,
+ top = 10,
+ bottom = 0,
+}
+
+return config
+