diff --git a/.config/cava/config b/.config/cava/config
index 811c63c..003b37a 100644
--- a/.config/cava/config
+++ b/.config/cava/config
@@ -1,6 +1,18 @@
## Configuration file for CAVA. Default values are commented out. Use either ';' or '#' for commenting.
-
-
+# |
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░█░█░█▀█░█▀▄░█░█░▀█▀░█░█░▀░█▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░█▀█░█░█░█▀▄░█▀█░░█░░█▀▄░░░▀▀█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀▀░▀░▀░░░▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░█▀▄░█▀█░▀█▀░█▀▀░▀█▀░█░░░█▀▀░█▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░█░█░█░█░░█░░█▀▀░░█░░█░░░█▀▀░▀▀█░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░▀▀░░▀▀▀░░▀░░▀░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# |
[general]
# Smoothing mode. Can be 'normal', 'scientific' or 'waves'. DEPRECATED as of 0.6.0
diff --git a/.config/compton/compton.conf b/.config/compton/compton.conf
index 688d71c..5e738a3 100644
--- a/.config/compton/compton.conf
+++ b/.config/compton/compton.conf
@@ -1,3 +1,18 @@
+# |
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░█░█░█▀█░█▀▄░█░█░▀█▀░█░█░▀░█▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░█▀█░█░█░█▀▄░█▀█░░█░░█▀▄░░░▀▀█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀▀░▀░▀░░░▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░█▀▄░█▀█░▀█▀░█▀▀░▀█▀░█░░░█▀▀░█▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░█░█░█░█░░█░░█▀▀░░█░░█░░░█▀▀░▀▀█░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░▀▀░░▀▀▀░░▀░░▀░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# |
+
# Shadow
shadow = true;
no-dnd-shadow = true; no-dock-shadow = true;
diff --git a/.config/i3/config b/.config/i3/config
index b6e0254..e328734 100644
--- a/.config/i3/config
+++ b/.config/i3/config
@@ -1,4 +1,21 @@
+# |
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░█░█░█▀█░█▀▄░█░█░▀█▀░█░█░▀░█▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░█▀█░█░█░█▀▄░█▀█░░█░░█▀▄░░░▀▀█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀▀░▀░▀░░░▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░█▀▄░█▀█░▀█▀░█▀▀░▀█▀░█░░░█▀▀░█▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░█░█░█░█░░█░░█▀▀░░█░░█░░░█▀▀░▀▀█░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░▀▀░░▀▀▀░░▀░░▀░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# |
+
+
# This file has been auto-generated by i3-config-wizard(1).
+#
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
@@ -201,9 +218,9 @@ exec_always --no-startup-id ~/.config/polybar/launch.sh
###############Stylizing##################
-for_window [class="^.*"] border pixel 3
+for_window [class="^.*"] border pixel 5
# border_radius 3
-border_radius 0
+border_radius 4
#client.focused #488444 #488444 #488444 #488444 #488444
diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim
index 5854ffe..ed7ec8b 100644
--- a/.config/nvim/init.vim
+++ b/.config/nvim/init.vim
@@ -1,9 +1,15 @@
-"
-"░█░█░█▀█░█▀▄░█░█░▀█▀░█░█░░░░█▀▄░█▀▀░█░█
-"░█▀█░█░█░█▀▄░█▀█░░█░░█▀▄░░░░█░█░█▀▀░▀▄▀
-"░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀▀░▀░▀░▀░░▀▀░░▀▀▀░░▀░
-"
-"
+" ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+" ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+" ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+" ░░░░░░░░░░░░░░░░░░░░░█░█░█▀█░█▀▄░█░█░▀█▀░█░█░▀░█▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+" ░░░░░░░░░░░░░░░░░░░░░█▀█░█░█░█▀▄░█▀█░░█░░█▀▄░░░▀▀█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+" ░░░░░░░░░░░░░░░░░░░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀▀░▀░▀░░░▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+" ░░░░░░░░░░░░░░░░░░░░░█▀▄░█▀█░▀█▀░█▀▀░▀█▀░█░░░█▀▀░█▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+" ░░░░░░░░░░░░░░░░░░░░░█░█░█░█░░█░░█▀▀░░█░░█░░░█▀▀░▀▀█░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+" ░░░░░░░░░░░░░░░░░░░░░▀▀░░▀▀▀░░▀░░▀░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+" ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+" ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+" ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
syntax enable
syntax on
set nocompatible
diff --git a/.config/picom/picom.conf b/.config/picom/picom.conf
index d2547a4..dcc4511 100644
--- a/.config/picom/picom.conf
+++ b/.config/picom/picom.conf
@@ -1,3 +1,19 @@
+# |
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░█░█░█▀█░█▀▄░█░█░▀█▀░█░█░▀░█▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░█▀█░█░█░█▀▄░█▀█░░█░░█▀▄░░░▀▀█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀▀░▀░▀░░░▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░█▀▄░█▀█░▀█▀░█▀▀░▀█▀░█░░░█▀▀░█▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░█░█░█░█░░█░░█▀▀░░█░░█░░░█▀▀░▀▀█░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░▀▀░░▀▀▀░░▀░░▀░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+# |
+
+
#################################
# Shadows #
#################################
diff --git a/.config/polybar/config.ini b/.config/polybar/config.ini
index 8271609..c7c683b 100644
--- a/.config/polybar/config.ini
+++ b/.config/polybar/config.ini
@@ -1,3 +1,18 @@
+;; |
+;; | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+;; | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+;; | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+;; | ░░░░░░░░░░░░░░░░░░░░░█░█░█▀█░█▀▄░█░█░▀█▀░█░█░▀░█▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+;; | ░░░░░░░░░░░░░░░░░░░░░█▀█░█░█░█▀▄░█▀█░░█░░█▀▄░░░▀▀█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+;; | ░░░░░░░░░░░░░░░░░░░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀▀░▀░▀░░░▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+;; | ░░░░░░░░░░░░░░░░░░░░░█▀▄░█▀█░▀█▀░█▀▀░▀█▀░█░░░█▀▀░█▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+;; | ░░░░░░░░░░░░░░░░░░░░░█░█░█░█░░█░░█▀▀░░█░░█░░░█▀▀░▀▀█░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+;; | ░░░░░░░░░░░░░░░░░░░░░▀▀░░▀▀▀░░▀░░▀░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+;; | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+;; | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+;; | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+;;
+
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
;;
;; ____ __ __
diff --git a/.config/xmobar/config.hs b/.config/xmobar/config.hs
new file mode 100644
index 0000000..a108b44
--- /dev/null
+++ b/.config/xmobar/config.hs
@@ -0,0 +1,117 @@
+Config {
+
+ -- appearance
+ font = "xft:Mononoki-10:antialias=true"
+ , additionalFonts = [
+ "xft:Fira Code-10:bold:antialias=true:hinting=True"
+ , "xft:Mononoki-10:bold:antialias=true:hinting=True"
+ ]
+ , bgColor = "#282a36"
+ , fgColor = "#f8f8f2"
+ , position = Top
+ , border = BottomB
+ , borderColor = "#282a36"
+ , iconRoot = "."
+
+ -- layout
+ , sepChar = "%" -- delineator between plugin names and straight text
+ , alignSep = "][" -- separator between left-right alignment
+ , template = "--{%StdinReader%}---------------------------------------------------------------------------------------------------------------------------------][{ %coretemp%}-{ %memory% }-{ %dynnetwork% }-{ %battery%}-{ %date% }-{ %kbd% }--"
+
+ -- general behavior
+ , lowerOnStart = False -- send to bottom of window stack on start
+ , hideOnStart = False -- start with window unmapped (hidden)
+ , allDesktops = True -- show on all desktops
+ , overrideRedirect = True -- set the Override Redirect flag (Xlib)
+ , pickBroadest = False -- choose widest display (multi-monitor)
+ , persistent = False -- enable/disable hiding (True = disabled)
+
+ -- plugins
+ -- Numbers can be automatically colored according to their value. xmobar
+ -- decides color based on a three-tier/two-cutoff system, controlled by
+ -- command options:
+ -- --Low sets the low cutoff
+ -- --High sets the high cutoff
+ --
+ -- --low sets the color below --Low cutoff
+ -- --normal sets the color between --Low and --High cutoffs
+ -- --High sets the color above --High cutoff
+ --
+ -- The --template option controls how the plugin is displayed. Text
+ -- color can be set by enclosing in tags. For more details
+ -- see http://projects.haskell.org/xmobar/#system-monitor-plugins.
+ , commands =
+
+ -- weather monitor
+ [ Run Weather "RJTT" [ "--template", " | °C | % | hPa"
+ ] 36000
+
+ -- network activity monitor (dynamic interface resolution)
+ , Run DynNetwork [ "--template" , ": kB/s|kB/s"
+ , "--Low" , "1000" -- units: B/s
+ , "--High" , "5000" -- units: B/s
+ , "--low" , "#50fa7b"
+ , "--normal" , "#ffb86c"
+ , "--high" , "#ff5555"
+ ] 10
+
+ -- cpu activity monitor
+ , Run MultiCpu [ "--template" , "Cpu: %|%"
+ , "--Low" , "50" -- units: %
+ , "--High" , "85" -- units: %
+ , "--low" , "#50fa7b"
+ , "--normal" , "#ffb86c"
+ , "--high" , "#ff5555"
+ ] 10
+
+ -- cpu core temperature monitor
+ , Run CoreTemp [ "--template" , "Temp: °C|°C"
+ , "--Low" , "70" -- units: °C
+ , "--High" , "80" -- units: °C
+ , "--low" , "#50fa7b"
+ , "--normal" , "#ffb86c"
+ , "--high" , "#ff5555"
+ ] 50
+
+ -- memory usage monitor
+ , Run Memory [ "--template" ,"Mem: %"
+ , "--Low" , "20" -- units: %
+ , "--High" , "90" -- units: %
+ , "--low" , "#50fa7b"
+ , "--normal" , "#ffb86c"
+ , "--high" , "#ff5555"
+ ] 10
+
+ -- battery monitor
+ , Run Battery [ "--template" , "Batt: "
+ , "--Low" , "10" -- units: %
+ , "--High" , "80" -- units: %
+ , "--low" , "darkred"
+ , "--normal" , "#ffb86c"
+ , "--high" , "#50fa7b"
+
+ , "--" -- battery specific options
+ -- discharging status
+ , "-o" , "% ()"
+ -- AC "on" status
+ , "-O" , "Charging"
+ -- charged status
+ , "-i" , "Charged"
+ ] 50
+
+ -- time and date indicator
+ -- (%F = y-m-d date, %a = day of week, %T = h:m:s time)
+ , Run Date "%F (%a) %T" "date" 10
+
+ -- keyboard layout indicator
+ , Run Kbd [ ("us" , "EN")
+ , ("ru" , "RU")
+ ]
+ , Run StdinReader
+ , Run Brightness
+ [ "-t", ""
+ , "--"
+ , "--brightness-icon-pattern", ""
+ ] 30
+ ]
+ }
diff --git a/.xmonad/DraculaTheme.hs b/.xmonad/DraculaTheme.hs
deleted file mode 100644
index 0a93ecf..0000000
--- a/.xmonad/DraculaTheme.hs
+++ /dev/null
@@ -1,21 +0,0 @@
-module DraculaTheme where
-
-myTerminal = "alacritty"
-myModKey = mod4Mask
-myBorderWidth = 3
-myNormalBorderColor = selectionColor
-myFocusedBorderColor = commentColor
-
--- | Dracula Theme
-backgroundColor = "#282a36"
-currentLineColor = "#44475a"
-selectionColor = "#44475a"
-foregroundColor = "#f8f8f2"
-commentColor = "#6272a4"
-cyanColor = "#8be9fd"
-greenColor = "#50fa7b"
-orangeColor = "#ffb86c"
-pinkColor = "#ff79c6"
-purpleColor = "#bd93f9"
-redColor = "#ff5555"
-yellowColor = "#f1fa8c"
diff --git a/.xmonad/lib/XMonad/Stack/Brightness.hs b/.xmonad/lib/XMonad/Stack/Brightness.hs
deleted file mode 100644
index a616421..0000000
--- a/.xmonad/lib/XMonad/Stack/Brightness.hs
+++ /dev/null
@@ -1,65 +0,0 @@
-{-# LANGUAGE ScopedTypeVariables #-}
-
--- | Module to control the brightness of the screen in linux environments
-module XMonad.Util.Brightness
- ( increase
- , decrease
- , change
- ) where
-
-import XMonad
-import Data.Traversable (traverse)
-import System.IO (hPutStrLn, stderr)
-import Data.Bitraversable (bitraverse)
-import Control.Monad (join)
-import Data.Bifunctor (first)
-import Control.Exception (try)
-import Control.Applicative (liftA2)
-import Data.ByteString.Char8 (unpack)
-import qualified Data.ByteString as BS
-
-maxfile = "/sys/class/backlight/intel_backlight/max_brightness"
-currentfile = "/sys/class/backlight/intel_backlight/brightness"
-
--- | Update brightness by +150
-increase :: X ()
-increase = liftIO $ change (+150) *> (pure ())
-
--- | Update brightness by -150
-decrease :: X ()
-decrease = liftIO $ change (+ (-150)) *> (pure ())
-
--- | Perform all needed IO to update screen brightness
-change :: (Int -> Int) -> IO (Either () ())
-change f = do
- max <- getFromFile maxfile readInt
- current <- getFromFile currentfile readInt
- printError =<< apply (writeToFile currentfile) (liftA2 (guard f) max current)
-
-apply :: (Int -> IO (Either String ())) -> Either String Int -> IO (Either String ())
-apply f = fmap join . traverse f
-
-guard :: (Int -> Int) -> Int -> Int -> Int
-guard f max current
- | value > max = max
- | value < 0 = 0
- | otherwise = value
- where value = f current
-
-readInt :: BS.ByteString -> Either String Int
-readInt str = case (reads (unpack str)) of
- [(n, "\n")] -> Right n
- [(n, "")] -> Right n
- _ -> Left "Could not parse string to int"
-
-printError :: Either String e -> IO (Either () e)
-printError = bitraverse (hPutStrLn stderr) (pure . id)
-
-getFromFile :: FilePath -> (BS.ByteString -> Either String a) -> IO (Either String a)
-getFromFile filename fcast = fmap (fcast =<<) (try' $ BS.readFile filename)
-
-writeToFile :: FilePath -> Int -> IO (Either String ())
-writeToFile filename value = try' $ writeFile filename (show value)
-
-try' :: forall a . IO a -> IO (Either String a)
-try' x = fmap (first show) (try x :: IO (Either IOError a))
diff --git a/.xmonad/lib/XMonad/Util/Brightness/Brightness.hs b/.xmonad/lib/XMonad/Util/Brightness/Brightness.hs
deleted file mode 100644
index a616421..0000000
--- a/.xmonad/lib/XMonad/Util/Brightness/Brightness.hs
+++ /dev/null
@@ -1,65 +0,0 @@
-{-# LANGUAGE ScopedTypeVariables #-}
-
--- | Module to control the brightness of the screen in linux environments
-module XMonad.Util.Brightness
- ( increase
- , decrease
- , change
- ) where
-
-import XMonad
-import Data.Traversable (traverse)
-import System.IO (hPutStrLn, stderr)
-import Data.Bitraversable (bitraverse)
-import Control.Monad (join)
-import Data.Bifunctor (first)
-import Control.Exception (try)
-import Control.Applicative (liftA2)
-import Data.ByteString.Char8 (unpack)
-import qualified Data.ByteString as BS
-
-maxfile = "/sys/class/backlight/intel_backlight/max_brightness"
-currentfile = "/sys/class/backlight/intel_backlight/brightness"
-
--- | Update brightness by +150
-increase :: X ()
-increase = liftIO $ change (+150) *> (pure ())
-
--- | Update brightness by -150
-decrease :: X ()
-decrease = liftIO $ change (+ (-150)) *> (pure ())
-
--- | Perform all needed IO to update screen brightness
-change :: (Int -> Int) -> IO (Either () ())
-change f = do
- max <- getFromFile maxfile readInt
- current <- getFromFile currentfile readInt
- printError =<< apply (writeToFile currentfile) (liftA2 (guard f) max current)
-
-apply :: (Int -> IO (Either String ())) -> Either String Int -> IO (Either String ())
-apply f = fmap join . traverse f
-
-guard :: (Int -> Int) -> Int -> Int -> Int
-guard f max current
- | value > max = max
- | value < 0 = 0
- | otherwise = value
- where value = f current
-
-readInt :: BS.ByteString -> Either String Int
-readInt str = case (reads (unpack str)) of
- [(n, "\n")] -> Right n
- [(n, "")] -> Right n
- _ -> Left "Could not parse string to int"
-
-printError :: Either String e -> IO (Either () e)
-printError = bitraverse (hPutStrLn stderr) (pure . id)
-
-getFromFile :: FilePath -> (BS.ByteString -> Either String a) -> IO (Either String a)
-getFromFile filename fcast = fmap (fcast =<<) (try' $ BS.readFile filename)
-
-writeToFile :: FilePath -> Int -> IO (Either String ())
-writeToFile filename value = try' $ writeFile filename (show value)
-
-try' :: forall a . IO a -> IO (Either String a)
-try' x = fmap (first show) (try x :: IO (Either IOError a))
diff --git a/.xmonad/xmonad.hs b/.xmonad/xmonad.hs
index f91837b..010e9ce 100644
--- a/.xmonad/xmonad.hs
+++ b/.xmonad/xmonad.hs
@@ -1,3 +1,15 @@
+-- | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+-- | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+-- | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+-- | ░░░░░░░░░░░░░░░░░░░░░█░█░█▀█░█▀▄░█░█░▀█▀░█░█░▀░█▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+-- | ░░░░░░░░░░░░░░░░░░░░░█▀█░█░█░█▀▄░█▀█░░█░░█▀▄░░░▀▀█░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+-- | ░░░░░░░░░░░░░░░░░░░░░▀░▀░▀▀▀░▀░▀░▀░▀░▀▀▀░▀░▀░░░▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+-- | ░░░░░░░░░░░░░░░░░░░░░█▀▄░█▀█░▀█▀░█▀▀░▀█▀░█░░░█▀▀░█▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+-- | ░░░░░░░░░░░░░░░░░░░░░█░█░█░█░░█░░█▀▀░░█░░█░░░█▀▀░▀▀█░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+-- | ░░░░░░░░░░░░░░░░░░░░░▀▀░░▀▀▀░░▀░░▀░░░▀▀▀░▀▀▀░▀▀▀░▀▀▀░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+-- | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+-- | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
+-- | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
import XMonad
import Data.Monoid
@@ -44,7 +56,7 @@ myClickJustFocuses = False
myBorderWidth = 4
superKey = mod4Mask
myModMask = superKey
-myWorkspaces = ["home","web","code","test","tkr","task","pub","chat","edit", "book"]
+myWorkspaces = ["home","web","code","test","tkr","task","edit", "chat","book"]
-- Border colors for unfocused and focused windows, respectively.
--
@@ -145,6 +157,14 @@ myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $
, ((modm , xK_u), namedScratchpadAction myScratchpads "terminal")
, ((modm .|. controlMask .|. shiftMask, xK_h), namedScratchpadAction myScratchpads "htop")
+ -- | Programs
+ , ((modm .|. shiftMask, xK_z), spawn "zathura &") -- book reader (zathura)
+ , ((modm .|. shiftMask, xK_b), spawn "firefox-developer-editioin &" ) -- browser
+ , ((modm .|. shiftMask, xK_b), spawn "firefox-developer-editioin &" ) -- browser
+ , ((modm .|. shiftMask, xK_e), spawn "emacs &" ) -- editor (emacs)
+ , ((modm .|. shiftMask, xK_n), spawn "firefox-developer-edition https://www.notion.so/horhi &") -- noteapp
+
+
-- Restart xmonad
, ((modm , xK_q ), spawn "xmonad --recompile; xmonad --restart")
@@ -301,9 +321,10 @@ myLogHook xmproc = dynamicLogWithPP $ xmobarPP { -- XMobar
, ppCurrent = xmobarColor greenColor "" . wrap "(" ")"
, ppUrgent = xmobarColor redColor "" . wrap "[" "]"
, ppHidden = xmobarColor foregroundColor "" . noScratchPad
+ , ppVisible = xmobarColor orangeColor ""
, ppSep = xmobarColor foregroundColor "" "}-----{"
, ppWsSep = "}-{"
- , ppOrder = \(ws:l:t:ex) -> [ws]++ex++[t,l] -- show only workspaces and title
+ , ppOrder = \(ws:l:t:ex) -> [ws]++ex++[t,l] -- {workspaces}-{title}--{layout}
}
where
@@ -331,7 +352,7 @@ myStartupHook = do
-- Run xmonad with the settings you specify. No need to modify this.
--
main = do
- xmproc <- spawnPipe "xmobar -d"
+ xmproc <- spawnPipe "xmobar -d ~/.config/xmobar/config.hs"
xmonad $ docks $ defaults xmproc
-- A structure containing your configuration settings, overriding