summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFranciszek Malinka <franciszek.malinka@gmail.com>2022-06-11 00:29:28 +0200
committerFranciszek Malinka <franciszek.malinka@gmail.com>2022-06-11 00:29:28 +0200
commitf0010af2665c5d0a7671e7c3c8662f36190ff0e3 (patch)
tree8cca09b890a1babc1f249c3b6a955836e7d5bbbd
parentd68f13da441388c05d8eddf5d330171673ffe45c (diff)
Added other stuffmain
-rw-r--r--.Xdefaults55
-rw-r--r--.Xresources97
-rw-r--r--.config/alacritty/alacritty.yml330
-rw-r--r--.config/i3/config208
-rw-r--r--.config/polybar/sharma/sharma/config.ini448
-rwxr-xr-x.config/polybar/sharma/sharma/launch.sh14
-rw-r--r--.config/polybar/sharma/sharma/spotify-script.py141
-rwxr-xr-x.config/rofi/monitor_layout.sh102
-rw-r--r--.config/xresources/xresources/gruvbox-dark.xresources40
-rw-r--r--.config/xresources/xresources/gruvbox-light.xresources39
-rw-r--r--.wallpapers/.wallpaper.pngbin0 -> 1958971 bytes
-rw-r--r--.wallpapers/cute.pngbin0 -> 6584948 bytes
-rw-r--r--.wallpapers/dino.pngbin0 -> 8670656 bytes
-rw-r--r--.wallpapers/dziura.pngbin0 -> 3381322 bytes
-rw-r--r--.wallpapers/flowert.jpgbin0 -> 345887 bytes
-rw-r--r--.wallpapers/lawenda.jpgbin0 -> 2173248 bytes
-rw-r--r--.wallpapers/purple.pngbin0 -> 17431708 bytes
-rw-r--r--.wallpapers/sakura.jpgbin0 -> 2849902 bytes
-rw-r--r--.wallpapers/shiba-samurao.jpgbin0 -> 529745 bytes
-rw-r--r--.wallpapers/sokrates.jpgbin0 -> 5153718 bytes
-rw-r--r--.wallpapers/storm.jpgbin0 -> 327299 bytes
-rw-r--r--.wallpapers/sunset.pngbin0 -> 2432757 bytes
-rw-r--r--.wallpapers/tribute.pngbin0 -> 1107390 bytes
-rw-r--r--.zshrc139
24 files changed, 1613 insertions, 0 deletions
diff --git a/.Xdefaults b/.Xdefaults
new file mode 100644
index 0000000..7dff6b4
--- /dev/null
+++ b/.Xdefaults
@@ -0,0 +1,55 @@
+URxvt.font: xft:DejaVu Sans Mono:size=12,xft:FiraCode Nerd Font Mono:size=12
+URxvt.boldFont: xft:DejaVu Sans Mono:size=12
+URxvt.italicFont: xft:DejaVu Sans Mono:size=12
+URxvt.boldItalicfont: xft:DejaVu Sans Mono:size=12
+URxvt.letterSpace: 0
+URxvt.lineSpace: 0
+URxvt.geometry: 92x24
+URxvt.internalBorder: 24
+URxvt.cursorBlink: true
+URxvt.cursorUnderline: false
+URxvt.saveline: 2048
+URxvt.scrollBar: false
+URxvt.scrollBar_right: false
+URxvt.urgentOnBell: true
+URxvt.depth: 32
+URxvt.iso14755: false
+
+! do not scroll with output
+URxvt*scrollTtyOutput: false
+
+! scroll in relation to buffer (with mouse scroll or Shift+Page Up)
+URxvt*scrollWithBuffer: true
+
+! scroll back to the bottom on keypress
+URxvt*scrollTtyKeypress: true
+URxvt.letterSpace: -1
+
+!! Common Keybinds for Navigations
+URxvt.keysym.Shift-Up: command:\033]720;1\007
+URxvt.keysym.Shift-Down: command:\033]721;1\007
+URxvt.keysym.Control-Up: \033[1;5A
+URxvt.keysym.Control-Down: \033[1;5B
+URxvt.keysym.Control-Right: \033[1;5C
+URxvt.keysym.Control-Left: \033[1;5D
+
+
+!! Copy Paste & Other Extensions
+URxvt.perl-ext-common: default,clipboard,url-select,keyboard-select,resize-font
+URxvt.keysym.Shift-Control-V: eval:paste_clipboard
+URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard
+!URxvt.copyCommand: xclip -i -selection clipboard
+!URxvt.pasteCommand: xclip -o -selection clipboard
+!URxvt.keysym.C-Shift_L-c: perl:clipboard:copy
+!URxvt.keysym.M-v: perl:clipboard:paste
+URxvt.clipboard.autocopy: true
+!URxvt.keysym.M-C-v: perl:clipboard:paste_escaped
+URxvt.keysym.M-Escape: perl:keyboard-select:activate
+URxvt.keysym.M-s: perl:keyboard-select:search
+URxvt.keysym.M-u: perl:url-select:select_next
+URxvt.urlLauncher: firefox
+URxvt.underlineURLs: true
+URxvt.urlButton: 1
+
+URxvt.keysym.C-equal: resize-font:bigger
+URxvt.geometry: 130x40
diff --git a/.Xresources b/.Xresources
new file mode 100644
index 0000000..c426d40
--- /dev/null
+++ b/.Xresources
@@ -0,0 +1,97 @@
+! PaperColour Theme
+
+URxvt*depth: 40
+URxvt*background: rgba:eeee/eeee/eeee/ee00
+
+URxvt.foreground: #4D4D4C
+! URxvt.background: #EEEEEE
+
+! black
+URxvt.color0: #EDEDED
+URxvt.color8: #969694
+
+! red
+URxvt.color1: #D7005F
+URxvt.color9: #D7005F
+
+! green
+URxvt.color2: #718C00
+URxvt.color10: #718C00
+
+! yellow / orange
+URxvt.color3: #D75F00
+URxvt.color11: #D75F00
+
+! blue
+
+URxvt.color4: #4271AE
+URxvt.color12: #4271AE
+
+! magenta
+URxvt.color5: #8959A8
+URxvt.color13: #8959A8
+
+! cyan
+URxvt.color6: #3E999F
+URxvt.color14: #3E999F
+
+! white
+URxvt.color7: #4D4D4C
+URxvt.color15: #F5F5F5
+
+
+!! URxvt Appearance
+URxvt.font: xft:DejaVu Sans Mono:size=12,xft:FiraCode Nerd Font Mono:size=12
+URxvt.boldFont: xft:DejaVu Sans Mono:size=12:Bold,xft:FiraCode Nerd Font Mono:size=12:Bold
+URxvt.italicFont: xft:DejaVu Sans Mono:size=12:Italic
+URxvt.boldItalicfont: xft:DejaVu Sans Mono:size=12:BoldItalic
+URxvt.letterSpace: 0
+URxvt.lineSpace: 0
+URxvt.geometry: 90x24
+URxvt.internalBorder: 24
+URxvt.cursorBlink: true
+URxvt.cursorUnderline: false
+URxvt.saveline: 2048
+URxvt.scrollBar: false
+URxvt.scrollBar_right: false
+URxvt.urgentOnBell: true
+URxvt.depth: 32
+URxvt.iso14755: false
+
+! do not scroll with output
+URxvt*scrollTtyOutput: false
+
+! scroll in relation to buffer (with mouse scroll or Shift+Page Up)
+URxvt*scrollWithBuffer: true
+
+! scroll back to the bottom on keypress
+URxvt*scrollTtyKeypress: true
+URxvt.letterSpace: -1
+
+!! Common Keybinds for Navigations
+URxvt.keysym.Shift-Up: command:\033]720;1\007
+URxvt.keysym.Shift-Down: command:\033]721;1\007
+URxvt.keysym.Control-Up: \033[1;5A
+URxvt.keysym.Control-Down: \033[1;5B
+URxvt.keysym.Control-Right: \033[1;5C
+URxvt.keysym.Control-Left: \033[1;5D
+
+
+!!! Copy Paste & Other Extensions
+!URxvt.perl-ext-common: default,clipboard,url-select,keyboard-select,resize-font
+!URxvt.keysym.Shift-Control-V: eval:paste_clipboard
+!URxvt.keysym.Shift-Control-C: eval:selection_to_clipboard
+!!URxvt.copyCommand: xclip -i -selection clipboard
+!!URxvt.pasteCommand: xclip -o -selection clipboard
+!!URxvt.keysym.C-Shift_L-c: perl:clipboard:copy
+!!URxvt.keysym.M-v: perl:clipboard:paste
+!URxvt.clipboard.autocopy: true
+!!URxvt.keysym.M-C-v: perl:clipboard:paste_escaped
+!URxvt.keysym.M-Escape: perl:keyboard-select:activate
+!URxvt.keysym.M-s: perl:keyboard-select:search
+!URxvt.keysym.M-u: perl:url-select:select_next
+!URxvt.urlLauncher: firefox
+!URxvt.underlineURLs: true
+!URxvt.urlButton: 1
+
+URxvt.keysym.C-equal: resize-font:bigger
diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml
new file mode 100644
index 0000000..d31bd9d
--- /dev/null
+++ b/.config/alacritty/alacritty.yml
@@ -0,0 +1,330 @@
+font:
+ normal:
+ family: Hack Nerd Font
+ style: Regular
+
+ bold:
+ family: Hack Nerd Font
+ style: Bold
+
+ italic:
+ family: Hack Nerd Font
+ style: Italic
+
+ bold_italic:
+ family: Hack Nerd Font
+ style: Bold Italic
+
+ size: 13
+ # Configuration for Alacritty, the GPU enhanced terminal emulator.
+ # Import additional configuration files
+ #
+ # Imports are loaded in order, skipping all missing files, with the importing
+ # file being loaded last. If a field is already present in a previous import, it
+ # will be replaced.
+ #
+ # All imports must either be absolute paths starting with `/`, or paths relative
+ # to the user's home directory starting with `~/`.
+ #import:
+ # - /path/to/alacritty.yml
+ # Any items in the `env` entry below will be added as
+ # environment variables. Some entries may override variables
+ # set by alacritty itself.
+ #env:
+ # TERM variable
+ #
+ # This value is used to set the `$TERM` environment variable for
+ # each instance of Alacritty. If it is not present, alacritty will
+ # check the local terminfo database and use `alacritty` if it is
+ # available, otherwise `xterm-256color` is used.
+ #TERM: alacritty
+
+key_bindings:
+ - { key: Left, mods: Control, chars: "\x1bb" }
+ - { key: Right, mods: Control, chars: "\x1bf" }
+ - { key: Return, mods: Control|Shift, action: SpawnNewInstance }
+
+window:
+
+ # Window dimensions (changes require restart)
+ #
+ # Number of lines/columns (not pixels) in the terminal. The number of columns
+ # must be at least `2`, while using a value of `0` for columns and lines will
+ # fall back to the window manager's recommended size.
+ #dimensions:
+ # columns: 0
+ # lines: 0
+ # Window position (changes require restart)
+ #
+ # Specified in number of pixels.
+ # If the position is not set, the window manager will handle the placement.
+ #position:
+ # x: 0
+ # y: 0
+ # Window padding (changes require restart)
+ #
+ # Blank space added around the window in pixels. This padding is scaled
+ # by DPI and the specified value is always added at both opposing sides.
+ #padding:
+ # x: 0
+ # y: 0
+ # Spread additional padding evenly around the terminal content.
+ #dynamic_padding: false
+ # Window decorations
+ #
+ # Values for `decorations`:
+ # - full: Borders and title bar
+ # - none: Neither borders nor title bar
+ #
+ # Values for `decorations` (macOS only):
+ # - transparent: Title bar, transparent background and title bar buttons
+ # - buttonless: Title bar, eransparent background and no title bar buttons
+ # ot
+ #decorations: full
+ # Background opacity
+ #
+ # Window opacity as a floating point number from `0.0` to `1.0`.
+ # The value `0.0` is completely transparent and `1.0` is opaque.
+ # background_opacity: 0.5
+ opacity: 1
+ # Startup Mode (changes require restart)
+ #
+ # Values for `startup_mode`:
+ # - Windowed
+ # - Maximized
+ # - Fullscreen
+ #
+ # Values for `startup_mode` (macOS only):
+ # - SimpleFullscreen
+ #startup_mode: Windowed
+ # Window title
+ #title: Alacritty
+ # Allow terminal applications to change Alacritty's window title.
+ #dynamic_title: true
+ # Window class (Linux/BSD only):
+ #class:
+ # Application instance name
+ #instance: Alacritty
+ # General application class
+ #general: Alacritty
+ # GTK theme variant (Linux/BSD only)
+ #
+ # Override the variant of the GTK theme. Commonly supported values are `dark`
+ # and `light`. Set this to `None` to use the default theme variant.
+ #gtk_theme_variant: None
+ #scrolling:
+ # Maximum number of lines in the scrollback buffer.
+ # Specifying '0' will disable scrolling.
+ #history: 10000
+ # Scrolling distance multiplier.
+ #multiplier: 3
+ # Font configuration
+ #font:
+ # Normal (roman) font face
+ #normal:
+ # Font family
+ #
+ # Default:
+ # - (macOS) Menlo
+ # - (Linux/BSD) monospace
+ # - (Windows) Consolas
+ #family: monospace
+ # The `style` can be specified to pick a specific face.
+ #style: Regular
+ # Bold font face
+ #bold:
+ # Font family
+ #
+ # If the bold family is not specified, it will fall back to the
+ # value specified for the normal font.
+ #family: monospace
+ # The `style` can be specified to pick a specific face.
+ #style: Bold
+ # Italic font face
+ #italic:
+ # Font family
+ #
+ # If the italic family is not specified, it will fall back to the
+ # value specified for the normal font.
+ #family: monospace
+ # The `style` can be specified to pick a specific face.
+ #style: Italic
+ # Bold italic font face
+ #bold_italic:
+ # Font family
+ #
+ # If the bold italic family is not specified, it will fall back to the
+ # value specified for the normal font.
+ #family: monospace
+ # The `style` can be specified to pick a specific face.
+ #style: Bold Italic
+ # Point size
+ #size: 11.0
+ # Offset is the extra space around each character. `offset.y` can be thought
+ # of as modifying the line spacing, and `offset.x` as modifying the letter
+ # spacing.
+ #offset:
+ # x: 0
+ # y: 0
+ # Glyph offset determines the locations of the glyphs within their cells with
+ # the default being at the bottom. Increasing `x` moves the glyph to the
+ # right, increasing `y` moves the glyph upward.
+ #glyph_offset:
+ # x: 0
+ # y: 0
+ # Thin stroke font rendering (macOS only)
+ #
+ # Thin strokes are suitable for retina displays, but for non-retina screens
+ # it is recommended to set `use_thin_strokes` to `false`.
+ #use_thin_strokes: true
+ # If `true`, bold text is drawn using the bright color variants.
+ #draw_bold_text_with_bright_colors: false
+ # Colors (Tomorrow Night)
+ #colors:
+ # Default colors
+ #primary:
+ # background: '#1d1f21'
+ # foreground: '#c5c8c6'
+ # Bright and dim foreground colors
+ #
+ # The dimmed foreground color is calculated automatically if it is not
+ # present. If the bright foreground color is not set, or
+ # `draw_bold_text_with_bright_colors` is `false`, the normal foreground
+ # color will be used.
+ #dim_foreground: '#828482'
+ #bright_foreground: '#eaeaea'
+ # Cursor colors
+ #
+ # Colors which should be used to draw the terminal cursor.
+ #
+ # Allowed values are CellForeground/CellBackground, which reference the
+ # affected cell, or hexadecimal colors like #ff00ff.
+ #cursor:
+ # text: CellBackground
+ # cursor: CellForeground
+ # Vi mode cursor colors
+ #
+ # Colors for the cursor when the vi mode is active.
+ #
+ # Allowed values are CellForeground/CellBackground, which reference the
+ # affected cell, or hexadecimal colors like #ff00ff.
+ #vi_mode_cursor:
+ # text: CellBackground
+ # cursor: CellForeground
+ # Search colors
+ #
+ # Colors used for the search bar and match highlighting.
+ #search:
+ # Allowed values are CellForeground/CellBackground, which reference the
+ # affected cell, or hexadecimal colors like #ff00ff.
+ #matches:
+ # foreground: '#000000'
+ # background: '#ffffff'
+ #focused_match:
+ # foreground: '#ffffff'
+ # background: '#000000'
+ #bar:
+ # background: '#c5c8c6'
+ # foreground: '#1d1f21'
+ # Keyboard regex hints
+ #hints:
+ # First character in the hint label
+ #
+ # Allowed values are CellForeground/CellBackground, which reference the
+ # affected cell, or hexadecimal colors like #ff00ff.
+ #start:
+ # foreground: '#1d1f21'
+ # background: '#e9ff5e'
+ # All characters after the first one in the hint label
+ #
+ # Allowed values are CellForeground/CellBackground, which reference the
+ # affected cell, or hexadecimal colors like #ff00ff.
+ #end:
+ # foreground: '#e9ff5e'
+ # background: '#1d1f21'
+ # Line indicator
+ #
+ # Color used for the indicator displaying the position in history during
+ # search and vi mode.
+ #
+ # By default, these will use the opposing primary color.
+ #line_indicator:
+ # foreground: None
+ # background: None
+ # Selection colors
+ #
+ # Colors which should be used to draw the selection area.
+ #
+ # Allowed values are CellForeground/CellBackground, which reference the
+ # affected cell, or hexadecimal colors like #ff00ff.
+ #selection:
+ # text: CellBackground
+ # background: CellForeground
+ # Normal colors
+ #normal:
+ # black: '#1d1f21'
+ # red: '#cc6666'
+ # green: '#b5bd68'
+ # yellow: '#f0c674'
+ # blue: '#81a2be'
+ # magenta: '#b294bb'
+ # cyan: '#8abeb7'
+ # white: '#c5c8c6'
+ # Bright colors
+ #bright:
+ # black: '#666666'
+ # red: '#d54e53'
+ # green: '#b9ca4a'
+ # yellow: '#e7c
+colors:
+ name: 3024 (light)
+ author: Chris Kempson
+ primary:
+ background: "#f7f7f7"
+ foreground: "#4a4543"
+ cursor:
+ text: "#f7f7f7"
+ cursor: "#4a4543"
+ normal:
+ black: "#090300"
+ red: "#db2d20"
+ green: "#01a252"
+ yellow: "#fded02"
+ blue: "#01a0e4"
+ magenta: "#a16a94"
+ cyan: "#b5e4f4"
+ white: "#a5a2a2"
+ bright:
+ black: "#5c5855"
+ red: "#db2d20"
+ green: "#01a252"
+ yellow: "#fded02"
+ blue: "#01a0e4"
+ magenta: "#a16a94"
+ cyan: "#b5e4f4"
+ white: "#f7f7f7"
+
+colors:
+ primary:
+ background: '0x282828'
+ foreground: '0xdfbf8e'
+
+ normal:
+ black: '0x665c54'
+ red: '0xea6962'
+ green: '0xa9b665'
+ yellow: '0xe78a4e'
+ blue: '0x7daea3'
+ magenta: '0xd3869b'
+ cyan: '0x89b482'
+ white: '0xdfbf8e'
+
+ bright:
+ black: '0x928374'
+ red: '0xea6962'
+ green: '0xa9b665'
+ yellow: '0xe3a84e'
+ blue: '0x7daea3'
+ magenta: '0xd3869b'
+ cyan: '0x89b482'
+ white: '0xdfbf8e'
diff --git a/.config/i3/config b/.config/i3/config
new file mode 100644
index 0000000..9bde1c3
--- /dev/null
+++ b/.config/i3/config
@@ -0,0 +1,208 @@
+# 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
+# this file and re-run i3-config-wizard(1).
+#
+
+# i3 config file (v4)
+#
+# Please see https://i3wm.org/docs/userguide.html for a complete reference!
+
+set $mod Mod4
+
+# Font for window titles. Will also be used by the bar unless a different font
+# is used in the bar {} block below.
+font pango:monospace 8
+
+# This font is widely installed, provides lots of unicode glyphs, right-to-left
+# text rendering and scalability on retina/hidpi displays (thanks to pango).
+#font pango:DejaVu Sans Mono 8
+
+# The combination of xss-lock, nm-applet and pactl is a popular choice, so
+# they are included here as an example. Modify as you see fit.
+
+# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
+# screen before suspend. Use loginctl lock-session to lock your screen.
+exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
+exec --no-startup-id /home/framal/.config/polybar/sharma/launch.sh
+# NetworkManager is the most popular way to manage wireless networks on Linux,
+# and nm-applet is a desktop environment-independent system tray GUI for it.
+# exec --no-startup-id nm-applet
+# exec --no-startup-id wal -i ~/.wallpapers/purple.png -a 90
+exec --no-startup-id nitrogen --restore
+exec --no-startup-id picom -f --experimental-backends
+exec --no-startup-id xrdb ~/.config/xresources/gruvbox-dark.xresources
+
+# Use pactl to adjust volume in PulseAudio.
+set $refresh_i3status killall -SIGUSR1 i3status
+# bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
+# bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
+bindsym XF86AudioRaiseVolume exec --no-startup-id /home/framal/.config/i3/volume-set +5%
+bindsym XF86AudioLowerVolume exec --no-startup-id /home/framal/.config/i3/volume-set -5%
+bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
+bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
+
+bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 10
+bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 10
+
+
+# Use Mouse+$mod to drag floating windows to their wanted position
+floating_modifier $mod
+
+bindsym Print exec spectacle -brc
+# start a terminal
+bindsym $mod+Return exec i3-sensible-terminal
+
+# kill focused window
+bindsym $mod+Shift+q kill
+
+# start dmenu (a program launcher)
+# bindsym $mod+d exec --no-startup-id dmenu_run
+# A more modern dmenu replacement is rofi:
+# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
+# There also is i3-dmenu-desktop which only displays applications shipping a
+# .desktop file. It is a wrapper around dmenu, so you need that installed.
+# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
+
+# change focus
+bindsym $mod+h focus left
+bindsym $mod+j focus down
+bindsym $mod+k focus up
+bindsym $mod+l focus right
+
+# bindsym $mod+l exec betterlockscreen -l
+bindsym $mod+m exec /home/framal/.config/rofi/monitor_layout.sh
+bindsym $mod+p exec /home/framal/.config/rofi/powermenu/powermenu.sh
+bindsym $mod+d exec /home/framal/.config/rofi/launchers/text/launcher.sh
+bindsym $mod+b exec /home/framal/.scripts/connect-to-jbl.sh
+
+
+# alternatively, you can use the cursor keys:
+bindsym $mod+Left focus left
+bindsym $mod+Down focus down
+bindsym $mod+Up focus up
+bindsym $mod+Right focus right
+
+# move focused window
+bindsym $mod+Shift+h move left
+bindsym $mod+Shift+j move down
+bindsym $mod+Shift+k move up
+bindsym $mod+Shift+l move right
+
+# alternatively, you can use the cursor keys:
+bindsym $mod+Shift+Left move left
+bindsym $mod+Shift+Down move down
+bindsym $mod+Shift+Up move up
+bindsym $mod+Shift+Right move right
+
+# split in horizontal orientation
+bindsym $mod+c split h
+
+# split in vertical orientation
+bindsym $mod+v split v
+
+# enter fullscreen mode for the focused container
+bindsym $mod+f fullscreen toggle
+
+# change container layout (stacked, tabbed, toggle split)
+bindsym $mod+s layout stacking
+bindsym $mod+w layout tabbed
+bindsym $mod+e layout toggle split
+
+# toggle tiling / floating
+bindsym $mod+Shift+space floating toggle
+
+# change focus between tiling / floating windows
+bindsym $mod+space focus mode_toggle
+
+# focus the parent container
+bindsym $mod+a focus parent
+
+# focus the child container
+#bindsym $mod+d focus child
+
+# Define names for default workspaces for which we configure key bindings later on.
+# We use variables to avoid repeating the names in multiple places.
+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"
+
+# switch to workspace
+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
+
+# move focused container to workspace
+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
+
+# reload the configuration file
+bindsym $mod+Shift+c reload
+# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
+bindsym $mod+Shift+r restart
+# exit i3 (logs you out of your X session)
+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'"
+
+# resize window (you can also use the mouse for that)
+mode "resize" {
+ # These bindings trigger as soon as you enter the resize mode
+
+ # Pressing left will shrink the window’s width.
+ # Pressing right will grow the window’s width.
+ # Pressing up will shrink the window’s height.
+ # Pressing down will grow the window’s height.
+ bindsym h resize shrink width 10 px or 10 ppt
+ bindsym j resize grow height 10 px or 10 ppt
+ bindsym k resize shrink height 10 px or 10 ppt
+ bindsym l resize grow width 10 px or 10 ppt
+
+ # same bindings, but for the arrow keys
+ bindsym Left resize shrink width 10 px or 10 ppt
+ bindsym Down resize grow height 10 px or 10 ppt
+ bindsym Up resize shrink height 10 px or 10 ppt
+ bindsym Right resize grow width 10 px or 10 ppt
+
+ # back to normal: Enter or Escape or $mod+r
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+ bindsym $mod+r mode "default"
+}
+
+bindsym $mod+r mode "resize"
+
+#for_window [workspace="3"] floating enable
+#for_window [workspace="2"] floating enable
+#for_window [workspace="1"] floating enable
+#for_window [workspace="4"] floating enable
+#for_window [workspace="5"] floating enable
+#for_window [workspace="6"] floating enable
+#for_window [workspace="7"] floating enable
+#for_window [workspace="8"] floating enable
+
+gaps inner 10
+default_border pixel 2
+
+bindsym $mod+Ctrl+h exec "~/.screenlayout/middle-laptop.sh; sleep 5; nitrogen --restore;"
diff --git a/.config/polybar/sharma/sharma/config.ini b/.config/polybar/sharma/sharma/config.ini
new file mode 100644
index 0000000..c239cd8
--- /dev/null
+++ b/.config/polybar/sharma/sharma/config.ini
@@ -0,0 +1,448 @@
+;==========================================================
+;
+;
+; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
+; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
+; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
+; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
+; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
+; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
+;
+;
+; To learn more about how to configure Polybar
+; go to https://github.com/polybar/polybar
+;
+; The README contains a lot of information
+;
+;==========================================================
+
+[colors]
+# background = ${colors.background}
+# background = ${colors.background}
+background = ${xrdb:background}
+background-alt = #373B41
+foreground = #C5C8C6
+primary = #EDDEB9
+secondary = #8ABEB7
+alert = #A54242
+disabled = #707880
+
+[bar/example]
+width = 100%
+height = 2.5%
+radius = 6
+
+bottom = true
+
+background = ${colors.background}
+foreground = ${colors.foreground}
+
+line-size = 3
+
+border-size = 4
+border-color = #00000000
+
+padding-left = 0
+padding-right = 1
+
+module-margin = 1
+
+separator = |
+separator-foreground = ${colors.disabled}
+
+; font-0 = monospace;2
+; font-0 = DejaVu Sans:pixelsize=12;2
+; font-1 = unifont:fontformat=truetype:size=12:antialias=false;0
+; font-2 = DejaVu Sans:pixelsize=14;2
+; font-2 = "Wuncon Siji":pixelsize=10;1
+; font-3 = "Wuncon Siji"
+; font-0 = Common;pixelsize=10;2
+;; font-0 = fixed:pixelsize=10;1
+;font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
+;font-0 = "Wuncon Siji:pixelsize=10;1"
+font-0 = FiraCode Nerd Font Mono:pixelsize=12;2
+font-1 = unifont:fontformat=truetype:size=12:antialias=false;0
+font-2 = FiraCode Nerd Font Mono:pixelsize=18;2
+font-3 = Source Han Sans JP:pixelsize=12;2
+
+modules-left = xworkspaces
+; xwindow
+modules-right = spotify pulseaudio xkeyboard memory cpu wlan battery battery1 date
+
+cursor-click = pointer
+cursor-scroll = ns-resize
+
+enable-ipc = true
+
+; tray-position = right
+
+; wm-restack = generic
+; wm-restack = bspwm
+; wm-restack = i3
+; override-redirect = true
+; override-redirect = true
+
+[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/filesystem]
+type = internal/fs
+interval = 25
+
+mount-0 = /
+
+label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%%
+
+label-unmounted = %mountpoint% not mounted
+label-unmounted-foreground = ${colors.disabled}
+
+[module/pulseaudio]
+type = internal/pulseaudio
+
+; format-volume-prefix = "VOL "
+; format-volume-prefix-foreground = ${colors.primary}
+; format-volume = <label-volume>
+
+; label-volume = %percentage%%
+
+; label-muted = muted
+; label-muted-foreground = ${colors.disabled}
+; Available tags:
+; <label-volume> (default)
+; <ramp-volume>
+; <bar-volume>
+format-volume-foreground = #A8C2EA
+format-volume = %{T3}<ramp-volume>%{T-} <label-volume>
+
+; Available tags:
+; <label-muted> (default)
+; <ramp-volume>
+; <bar-volume>
+;format-muted = <label-muted>
+
+; Available tokens:
+; %percentage% (default)
+; %decibels%
+;label-volume = %percentage%%
+
+; Available tokens:
+; %percentage% (default)
+; %decibels%
+label-muted = 婢 muted
+label-muted-foreground = #666
+
+; Only applies if <ramp-volume> is used
+ramp-volume-0 = 
+ramp-volume-1 = 
+ramp-volume-2 = 墳
+
+; Right and Middle click
+click-right = pavucontrol
+
+[module/xkeyboard]
+type = internal/xkeyboard
+blacklist-0 = num lock
+
+label-layout = %layout%
+label-layout-foreground = ${colors.primary}
+layout-icon-default = 
+label-indicator-padding = 2
+label-indicator-margin = 1
+label-indicator-foreground = ${colors.background}
+label-indicator-background = ${colors.secondary}
+label-indicator-on-capslock = בּ
+[module/memory]
+type = internal/memory
+interval = 2
+format-prefix = %{T3}﬙ %{T-}
+format-foreground = #E0DA37
+label = %gb_used%
+;/%gb_total%
+
+[module/cpu]
+type = internal/cpu
+interval = 2
+format-prefix = %{T3}%{T-}
+format-foreground = #E84C82
+label = %percentage:2%%
+
+[network-base]
+type = internal/network
+interval = 5
+format-connected = <label-connected>
+format-disconnected = <label-disconnected>
+label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
+
+[module/spotify]
+type = custom/script
+interval = 1
+; format-prefix = 
+; format-prefix-foreground = #1db954
+format-foreground = #1db954
+format = %{T3}%{T-} <label>
+exec = /bin/python3 ~/.config/polybar/sharma/spotify-script.py -f '{artist}: {song}'
+format-underline = #1db954
+;control players (optional)
+click-left = playerctl --player=spotify play-pause
+click-right = playerctl --player=spotify next
+click-middle = playerctl --player=spotify previous
+
+[module/wlan]
+inherit = network-base
+interface-type = wireless
+interface = wlp3s0
+label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip%
+; label-connected = %{F#F0C674}%ifname%%{F-} %essid%
+format-connected = %{T3}<ramp-signal>%{T-} <label-connected>
+format-connected-foreground = #EC9E9E
+; Available tags:
+; <label-disconnected> (default)
+format-disconnected = <label-disconnected>
+format-disconnected-foreground = #EC9E9E
+; Available tags:
+; <label-connected> (default)
+; <label-packetloss>
+; <animation-packetloss>
+format-packetloss = <animation-packetloss> <label-connected>
+
+; All labels support the following tokens:
+; %ifname% [wireless+wired]
+; %local_ip% [wireless+wired]
+; %local_ip6% [wireless+wired]
+; %essid% [wireless]
+; %signal% [wireless]
+; %upspeed% [wireless+wired]
+; %downspeed% [wireless+wired]
+; %linkspeed% [wired]
+
+; Default: %ifname% %local_ip%
+; label-connected = %essid%
+;:9%
+; label-connected-foreground = #eefafafa
+
+; Default: (none)
+label-disconnected = 睊
+; label-disconnected-foreground = #66ffffff
+
+; Default: (none)
+;label-packetloss = %essid%
+;label-packetloss-foreground = #eefafafa
+
+; Only applies if <ramp-signal> is used
+ramp-signal-0 = 直
+ramp-signal-1 = 直
+ramp-signal-2 = 直
+ramp-signal-3 = 
+ramp-signal-4 = 
+ramp-signal-5 = 
+
+; Only applies if <animation-packetloss> is used
+animation-packetloss-0 = ⚠
+animation-packetloss-0-foreground = #ffa64c
+animation-packetloss-1 = 📶
+animation-packetloss-1-foreground = #000000
+; Framerate in milliseconds
+animation-packetloss-framerate = 500
+
+; [module/eth]
+; inherit = network-base
+; interface-type = wired
+; label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
+[module/battery1]
+type = internal/battery
+full-at = 99
+battery = BAT1
+adapter = ADP1
+poll-interval = 5
+
+; see "man date" for details on how to format the time string
+; NOTE: if you want to use syntax tags here you need to use %%{...}
+; Default: %H:%M:%S
+time-format = %H:%M
+
+; Available tags:
+; <label-charging> (default)
+; <bar-capacity>
+; <ramp-capacity>
+; <animation-charging>
+format-charging = %{T3}<animation-charging>%{T-} <label-charging>
+format-charging-foreground = #4ae2dd
+; Available tags:
+; <label-discharging> (default)
+; <bar-capacity>
+; <ramp-capacity>
+; <animation-discharging>
+format-discharging = %{T3}<ramp-capacity>%{T-} <label-discharging>
+format-discharging-foreground = #4ae2dd
+
+; Available tags:
+; <label-full> (default)
+; <bar-capacity>
+; <ramp-capacity>
+format-full = %{T3}<ramp-capacity>%{T-} <label-full>
+format-full-foreground = #4ae2dd
+
+; Available tokens:
+; %percentage% (default) - is set to 100 if full-at is reached
+; %percentage_raw%
+; %time%
+; %consumption% (shows current charge rate in watts)
+label-charging = %percentage%%
+
+; Available tokens:
+; %percentage% (default) - is set to 100 if full-at is reached
+; %percentage_raw%
+; %time%
+; %consumption% (shows current discharge rate in watts)
+label-discharging = %percentage%%
+
+; Available tokens:
+; %percentage% (default) - is set to 100 if full-at is reached
+; %percentage_raw%
+; label-full =
+
+; Only applies if <ramp-capacity> is used
+ramp-capacity-0 = 
+ramp-capacity-1 = 
+ramp-capacity-2 = 
+ramp-capacity-3 = 
+ramp-capacity-4 = 
+
+; Only applies if <bar-capacity> is used
+bar-capacity-width = 10
+
+; Only applies if <animation-charging> is used
+animation-charging-0 = 
+animation-charging-1 = 
+animation-charging-2 = 
+animation-charging-3 = 
+animation-charging-4 = 
+; Framerate in milliseconds
+animation-charging-framerate = 750
+
+; Only applies if <animation-discharging> is used
+animation-discharging-0 = 
+animation-discharging-1 = 
+animation-discharging-2 = 
+animation-discharging-3 = 
+animation-discharging-4 = 
+; Framerate in milliseconds
+animation-discharging-framerate = 500
+
+
+[module/battery]
+type = internal/battery
+full-at = 99
+battery = BAT0
+adapter = ADP1
+poll-interval = 5
+
+; see "man date" for details on how to format the time string
+; NOTE: if you want to use syntax tags here you need to use %%{...}
+; Default: %H:%M:%S
+time-format = %H:%M
+
+; Available tags:
+; <label-charging> (default)
+; <bar-capacity>
+; <ramp-capacity>
+; <animation-charging>
+format-charging = %{T3}<animation-charging>%{T-} <label-charging>
+format-charging-foreground = #4ae2dd
+; Available tags:
+; <label-discharging> (default)
+; <bar-capacity>
+; <ramp-capacity>
+; <animation-discharging>
+format-discharging = %{T3}<ramp-capacity>%{T-} <label-discharging>
+format-discharging-foreground = #4ae2dd
+
+; Available tags:
+; <label-full> (default)
+; <bar-capacity>
+; <ramp-capacity>
+format-full = %{T3}<ramp-capacity>%{T-} <label-full>
+format-full-foreground = #4ae2dd
+
+; Available tokens:
+; %percentage% (default) - is set to 100 if full-at is reached
+; %percentage_raw%
+; %time%
+; %consumption% (shows current charge rate in watts)
+label-charging = %percentage%%
+
+; Available tokens:
+; %percentage% (default) - is set to 100 if full-at is reached
+; %percentage_raw%
+; %time%
+; %consumption% (shows current discharge rate in watts)
+label-discharging = %percentage%%
+
+; Available tokens:
+; %percentage% (default) - is set to 100 if full-at is reached
+; %percentage_raw%
+; label-full =
+
+; Only applies if <ramp-capacity> is used
+ramp-capacity-0 = 
+ramp-capacity-1 = 
+ramp-capacity-2 = 
+ramp-capacity-3 = 
+ramp-capacity-4 = 
+
+; Only applies if <bar-capacity> is used
+bar-capacity-width = 10
+
+; Only applies if <animation-charging> is used
+animation-charging-0 = 
+animation-charging-1 = 
+animation-charging-2 = 
+animation-charging-3 = 
+animation-charging-4 = 
+; Framerate in milliseconds
+animation-charging-framerate = 750
+
+; Only applies if <animation-discharging> is used
+animation-discharging-0 = 
+animation-discharging-1 = 
+animation-discharging-2 = 
+animation-discharging-3 = 
+animation-discharging-4 = 
+; Framerate in milliseconds
+animation-discharging-framerate = 500
+
+[module/date]
+type = internal/date
+interval = 1
+date = %A %d %B
+; time = %H:%M
+time = %H:%M
+format = %{F#FF7730}%{T3}%{T-}%{F-} <label>
+label = %{F#FF7730}%date% >%{F-} %{F#afbedd}%time%%{F-}
+; label-foreground = ${colors.primary}
+
+[settings]
+screenchange-reload = true
+pseudo-transparency = false
+
+; vim:ft=dosini
diff --git a/.config/polybar/sharma/sharma/launch.sh b/.config/polybar/sharma/sharma/launch.sh
new file mode 100755
index 0000000..eeefb7c
--- /dev/null
+++ b/.config/polybar/sharma/sharma/launch.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+
+# Add this script to your wm startup file.
+
+DIR="$HOME/.config/polybar/sharma"
+
+# Terminate already running bar instances
+killall -q polybar
+
+# Wait until the processes have been shut down
+while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
+
+# Launch the bar
+polybar example -c "$DIR"/config.ini &
diff --git a/.config/polybar/sharma/sharma/spotify-script.py b/.config/polybar/sharma/sharma/spotify-script.py
new file mode 100644
index 0000000..7199f4e
--- /dev/null
+++ b/.config/polybar/sharma/sharma/spotify-script.py
@@ -0,0 +1,141 @@
+#!/usr/bin/env python
+
+import sys
+import dbus
+import argparse
+
+parser = argparse.ArgumentParser()
+parser.add_argument(
+ '-t',
+ '--trunclen',
+ type=int,
+ metavar='trunclen'
+)
+parser.add_argument(
+ '-f',
+ '--format',
+ type=str,
+ metavar='custom format',
+ dest='custom_format'
+)
+parser.add_argument(
+ '-p',
+ '--playpause',
+ type=str,
+ metavar='play-pause indicator',
+ dest='play_pause'
+)
+parser.add_argument(
+ '--font',
+ type=str,
+ metavar='the index of the font to use for the main label',
+ dest='font'
+)
+parser.add_argument(
+ '--playpause-font',
+ type=str,
+ metavar='the index of the font to use to display the playpause indicator',
+ dest='play_pause_font'
+)
+parser.add_argument(
+ '-q',
+ '--quiet',
+ action='store_true',
+ help="if set, don't show any output when the current song is paused",
+ dest='quiet',
+)
+
+args = parser.parse_args()
+
+
+def fix_string(string):
+ # corrects encoding for the python version used
+ if sys.version_info.major == 3:
+ return string
+ else:
+ return string.encode('utf-8')
+
+
+def truncate(name, trunclen):
+ if len(name) > trunclen:
+ name = name[:trunclen]
+ name += '...'
+ if ('(' in name) and (')' not in name):
+ name += ')'
+ return name
+
+
+
+# Default parameters
+output = fix_string(u'{play_pause} {artist}: {song}')
+trunclen = 35
+play_pause = fix_string(u'\u25B6,\u23F8') # first character is play, second is paused
+
+label_with_font = '%{{T{font}}}{label}%{{T-}}'
+font = args.font
+play_pause_font = args.play_pause_font
+
+quiet = args.quiet
+
+# parameters can be overwritten by args
+if args.trunclen is not None:
+ trunclen = args.trunclen
+if args.custom_format is not None:
+ output = args.custom_format
+if args.play_pause is not None:
+ play_pause = args.play_pause
+
+try:
+ session_bus = dbus.SessionBus()
+ spotify_bus = session_bus.get_object(
+ 'org.mpris.MediaPlayer2.spotify',
+ '/org/mpris/MediaPlayer2'
+ )
+
+ spotify_properties = dbus.Interface(
+ spotify_bus,
+ 'org.freedesktop.DBus.Properties'
+ )
+
+ metadata = spotify_properties.Get('org.mpris.MediaPlayer2.Player', 'Metadata')
+ status = spotify_properties.Get('org.mpris.MediaPlayer2.Player', 'PlaybackStatus')
+
+ # Handle play/pause label
+
+ play_pause = play_pause.split(',')
+
+ if status == 'Playing':
+ play_pause = play_pause[0]
+ elif status == 'Paused':
+ play_pause = play_pause[1]
+ else:
+ play_pause = str()
+
+ if play_pause_font:
+ play_pause = label_with_font.format(font=play_pause_font, label=play_pause)
+
+ # Handle main label
+
+ artist = fix_string(metadata['xesam:artist'][0]) if metadata['xesam:artist'] else ''
+ song = fix_string(metadata['xesam:title']) if metadata['xesam:title'] else ''
+ album = fix_string(metadata['xesam:album']) if metadata['xesam:album'] else ''
+
+ if (quiet and status == 'Paused') or (not artist and not song and not album):
+ print('')
+ else:
+ if font:
+ artist = label_with_font.format(font=font, label=artist)
+ song = label_with_font.format(font=font, label=song)
+ album = label_with_font.format(font=font, label=album)
+
+ # Add 4 to trunclen to account for status symbol, spaces, and other padding characters
+ print(truncate(output.format(artist=artist,
+ song=song,
+ play_pause=play_pause,
+ album=album), trunclen + 4))
+
+except Exception as e:
+ if isinstance(e, dbus.exceptions.DBusException):
+ print('')
+ else:
+ print(e)
diff --git a/.config/rofi/monitor_layout.sh b/.config/rofi/monitor_layout.sh
new file mode 100755
index 0000000..f3258af
--- /dev/null
+++ b/.config/rofi/monitor_layout.sh
@@ -0,0 +1,102 @@
+#!/bin/bash
+
+XRANDR=$(which xrandr)
+
+MONITORS=( $( ${XRANDR} | awk '( $2 == "connected" ){ print $1 }' ) )
+
+
+NUM_MONITORS=${#MONITORS[@]}
+
+TITLES=()
+COMMANDS=()
+
+
+function gen_xrandr_only()
+{
+ selected=$1
+
+ cmd="xrandr --output ${MONITORS[$selected]} --auto "
+
+ for entry in $(seq 0 $((${NUM_MONITORS}-1)))
+ do
+ if [ $selected != $entry ]
+ then
+ cmd="$cmd --output ${MONITORS[$entry]} --off"
+ fi
+ done
+
+ echo $cmd
+}
+
+
+
+declare -i index=0
+TILES[$index]="Cancel"
+COMMANDS[$index]="true"
+index+=1
+
+
+for entry in $(seq 0 $((${NUM_MONITORS}-1)))
+do
+ TILES[$index]="Only ${MONITORS[$entry]}"
+ COMMANDS[$index]=$(gen_xrandr_only $entry)
+ index+=1
+done
+
+##
+# Dual screen options
+##
+for entry_a in $(seq 0 $((${NUM_MONITORS}-1)))
+do
+ for entry_b in $(seq 0 $((${NUM_MONITORS}-1)))
+ do
+ if [ $entry_a != $entry_b ]
+ then
+ TILES[$index]="Dual Screen ${MONITORS[$entry_a]} -> ${MONITORS[$entry_b]}"
+ COMMANDS[$index]="xrandr --output ${MONITORS[$entry_a]} --auto \
+ --output ${MONITORS[$entry_b]} --auto --left-of ${MONITORS[$entry_a]}"
+
+ index+=1
+ fi
+ done
+done
+
+
+##
+# Clone monitors
+##
+for entry_a in $(seq 0 $((${NUM_MONITORS}-1)))
+do
+ for entry_b in $(seq 0 $((${NUM_MONITORS}-1)))
+ do
+ if [ $entry_a != $entry_b ]
+ then
+ TILES[$index]="Clone Screen ${MONITORS[$entry_a]} -> ${MONITORS[$entry_b]}"
+ COMMANDS[$index]="xrandr --output ${MONITORS[$entry_a]} --auto \
+ --output ${MONITORS[$entry_b]} --auto --same-as ${MONITORS[$entry_a]}"
+
+ index+=1
+ fi
+ done
+done
+
+
+##
+# Generate entries, where first is key.
+##
+function gen_entries()
+{
+ for a in $(seq 0 $(( ${#TILES[@]} -1 )))
+ do
+ echo $a ${TILES[a]}
+ done
+}
+
+# Call menu
+SEL=$( gen_entries | rofi -dmenu -p "Monitor Setup:" -a 0 -no-custom | awk '{print $1}' )
+
+# Call xrandr
+$( ${COMMANDS[$SEL]} )
+nitrogen --restore
+~/.config/polybar/sharma/launch.sh
+# wal -R
diff --git a/.config/xresources/xresources/gruvbox-dark.xresources b/.config/xresources/xresources/gruvbox-dark.xresources
new file mode 100644
index 0000000..1e0bf8b
--- /dev/null
+++ b/.config/xresources/xresources/gruvbox-dark.xresources
@@ -0,0 +1,40 @@
+! -----------------------------------------------------------------------------
+! File: gruvbox-dark.xresources
+! Description: Retro groove colorscheme generalized
+! Author: morhetz <morhetz@gmail.com>
+! Source: https://github.com/morhetz/gruvbox-generalized
+! Last Modified: 6 Sep 2014
+! -----------------------------------------------------------------------------
+
+! hard contrast: *background: #1d2021
+*background: #282828
+! soft contrast: *background: #32302f
+*foreground: #ebdbb2
+! Black + DarkGrey
+*color0: #282828
+*color8: #928374
+! DarkRed + Red
+*color1: #cc241d
+*color9: #fb4934
+! DarkGreen + Green
+*color2: #98971a
+*color10: #b8bb26
+! DarkYellow + Yellow
+*color3: #d79921
+*color11: #fabd2f
+! DarkBlue + Blue
+*color4: #458588
+*color12: #83a598
+! DarkMagenta + Magenta
+*color5: #b16286
+*color13: #d3869b
+! DarkCyan + Cyan
+*color6: #689d6a
+*color14: #8ec07c
+! LightGrey + White
+*color7: #a89984
+*color15: #ebdbb2
+
+! URxvt*depth: 40
+! URxvt*background: rgba:2800/2800/2800/ee00
+URxvt.boldFont: xft:DejaVu Sans Mono:size=12:Bold
diff --git a/.config/xresources/xresources/gruvbox-light.xresources b/.config/xresources/xresources/gruvbox-light.xresources
new file mode 100644
index 0000000..4a80e85
--- /dev/null
+++ b/.config/xresources/xresources/gruvbox-light.xresources
@@ -0,0 +1,39 @@
+! -----------------------------------------------------------------------------
+! File: gruvbox-light.xresources
+! Description: Retro groove colorscheme generalized
+! Author: morhetz <morhetz@gmail.com>
+! Source: https://github.com/morhetz/gruvbox-generalized
+! Last Modified: 6 Sep 2014
+! -----------------------------------------------------------------------------
+
+! hard contrast: *background: #f9f5d7
+*background: #fbf1c7
+! soft contrast: *background: #f2e5bc
+*foreground: #3c3836
+! Black + DarkGrey
+*color0: #fdf4c1
+*color8: #928374
+! DarkRed + Red
+*color1: #cc241d
+*color9: #9d0006
+! DarkGreen + Green
+*color2: #98971a
+*color10: #79740e
+! DarkYellow + Yellow
+*color3: #d79921
+*color11: #b57614
+! DarkBlue + Blue
+*color4: #458588
+*color12: #076678
+! DarkMagenta + Magenta
+*color5: #b16286
+*color13: #8f3f71
+! DarkCyan + Cyan
+*color6: #689d6a
+*color14: #427b58
+! LightGrey + White
+*color7: #7c6f64
+*color15: #3c3836
+
+URxvt*depth: 40
+! URxvt*background: rgba:f200/e500/bc00/ee00
diff --git a/.wallpapers/.wallpaper.png b/.wallpapers/.wallpaper.png
new file mode 100644
index 0000000..3269884
--- /dev/null
+++ b/.wallpapers/.wallpaper.png
Binary files differ
diff --git a/.wallpapers/cute.png b/.wallpapers/cute.png
new file mode 100644
index 0000000..39ac616
--- /dev/null
+++ b/.wallpapers/cute.png
Binary files differ
diff --git a/.wallpapers/dino.png b/.wallpapers/dino.png
new file mode 100644
index 0000000..44f7b32
--- /dev/null
+++ b/.wallpapers/dino.png
Binary files differ
diff --git a/.wallpapers/dziura.png b/.wallpapers/dziura.png
new file mode 100644
index 0000000..0b949ac
--- /dev/null
+++ b/.wallpapers/dziura.png
Binary files differ
diff --git a/.wallpapers/flowert.jpg b/.wallpapers/flowert.jpg
new file mode 100644
index 0000000..0d5f6ca
--- /dev/null
+++ b/.wallpapers/flowert.jpg
Binary files differ
diff --git a/.wallpapers/lawenda.jpg b/.wallpapers/lawenda.jpg
new file mode 100644
index 0000000..713e1ad
--- /dev/null
+++ b/.wallpapers/lawenda.jpg
Binary files differ
diff --git a/.wallpapers/purple.png b/.wallpapers/purple.png
new file mode 100644
index 0000000..a7136b9
--- /dev/null
+++ b/.wallpapers/purple.png
Binary files differ
diff --git a/.wallpapers/sakura.jpg b/.wallpapers/sakura.jpg
new file mode 100644
index 0000000..7d2a27e
--- /dev/null
+++ b/.wallpapers/sakura.jpg
Binary files differ
diff --git a/.wallpapers/shiba-samurao.jpg b/.wallpapers/shiba-samurao.jpg
new file mode 100644
index 0000000..c751a9a
--- /dev/null
+++ b/.wallpapers/shiba-samurao.jpg
Binary files differ
diff --git a/.wallpapers/sokrates.jpg b/.wallpapers/sokrates.jpg
new file mode 100644
index 0000000..0017581
--- /dev/null
+++ b/.wallpapers/sokrates.jpg
Binary files differ
diff --git a/.wallpapers/storm.jpg b/.wallpapers/storm.jpg
new file mode 100644
index 0000000..96db98e
--- /dev/null
+++ b/.wallpapers/storm.jpg
Binary files differ
diff --git a/.wallpapers/sunset.png b/.wallpapers/sunset.png
new file mode 100644
index 0000000..a5b54e9
--- /dev/null
+++ b/.wallpapers/sunset.png
Binary files differ
diff --git a/.wallpapers/tribute.png b/.wallpapers/tribute.png
new file mode 100644
index 0000000..aa99d92
--- /dev/null
+++ b/.wallpapers/tribute.png
Binary files differ
diff --git a/.zshrc b/.zshrc
new file mode 100644
index 0000000..20cd009
--- /dev/null
+++ b/.zshrc
@@ -0,0 +1,139 @@
+# If you come from bash you might have to change your $PATH.
+# export PATH=$HOME/bin:/usr/local/bin:$PATH
+export IDF_PATH=$HOME/esp/ESP8266_RTOS_SDK
+export PATH=$HOME/huawei/xtensa-lx106-elf/bin:$PATH
+export TERMINAL=alacritty
+
+# Path to your oh-my-zsh installation.
+# export ZSH="/home/framal/.oh-my-zsh"
+export ZSH="/usr/share/oh-my-zsh"
+
+# uncomment to enable wal colors
+#(cat ~/.cache/wal/sequences &)
+
+# Set name of the theme to load --- if set to "random", it will
+# load a random theme each time oh-my-zsh is loaded, in which case,
+# to know which specific one was loaded, run: echo $RANDOM_THEME
+# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
+ZSH_THEME="framal"
+
+# Set list of themes to pick from when loading at random
+# Setting this variable when ZSH_THEME=random will cause zsh to load
+# a theme from this variable instead of looking in $ZSH/themes/
+# If set to an empty array, this variable will have no effect.
+# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
+
+# Uncomment the following line to use case-sensitive completion.
+# CASE_SENSITIVE="true"
+
+# Uncomment the following line to use hyphen-insensitive completion.
+# Case-sensitive completion must be off. _ and - will be interchangeable.
+# HYPHEN_INSENSITIVE="true"
+
+# Uncomment one of the following lines to change the auto-update behavior
+# zstyle ':omz:update' mode disabled # disable automatic updates
+# zstyle ':omz:update' mode auto # update automatically without asking
+# zstyle ':omz:update' mode reminder # just remind me to update when it's time
+
+# Uncomment the following line to change how often to auto-update (in days).
+# zstyle ':omz:update' frequency 13
+
+# Uncomment the following line if pasting URLs and other text is messed up.
+# DISABLE_MAGIC_FUNCTIONS="true"
+
+# Uncomment the following line to disable colors in ls.
+# DISABLE_LS_COLORS="true"
+
+# Uncomment the following line to disable auto-setting terminal title.
+# DISABLE_AUTO_TITLE="true"
+
+# Uncomment the following line to enable command auto-correction.
+# ENABLE_CORRECTION="true"
+
+# Uncomment the following line to display red dots whilst waiting for completion.
+# You can also set it to another string to have that shown instead of the default red dots.
+# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
+# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
+# COMPLETION_WAITING_DOTS="true"
+
+# Uncomment the following line if you want to disable marking untracked files
+# under VCS as dirty. This makes repository status check for large repositories
+# much, much faster.
+# DISABLE_UNTRACKED_FILES_DIRTY="true"
+
+# Uncomment the following line if you want to change the command execution time
+# stamp shown in the history command output.
+# You can set one of the optional three formats:
+# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
+# or set a custom format using the strftime function format specifications,
+# see 'man strftime' for details.
+# HIST_STAMPS="mm/dd/yyyy"
+
+# Would you like to use another custom folder than $ZSH/custom?
+# ZSH_CUSTOM=/path/to/new-custom-folder
+
+# Which plugins would you like to load?
+# Standard plugins can be found in $ZSH/plugins/
+# Custom plugins may be added to $ZSH_CUSTOM/plugins/
+# Example format: plugins=(rails git textmate ruby lighthouse)
+# Add wisely, as too many plugins slow down shell startup.
+plugins=(git)
+
+source $ZSH/oh-my-zsh.sh
+source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
+# User configuration
+
+# export MANPATH="/usr/local/man:$MANPATH"
+
+# You may need to manually set your language environment
+# export LANG=en_US.UTF-8
+
+# Preferred editor for local and remote sessions
+# if [[ -n $SSH_CONNECTION ]]; then
+# export EDITOR='vim'
+# else
+# export EDITOR='mvim'
+# fi
+
+# Compilation flags
+# export ARCHFLAGS="-arch x86_64"
+
+# Set personal aliases, overriding those provided by oh-my-zsh libs,
+# plugins, and themes. Aliases can be placed here, though oh-my-zsh
+# users are encouraged to define aliases within the ZSH_CUSTOM folder.
+# For a full list of active aliases, run `alias`.
+#
+# Example aliases
+#
+
+
+alias i3conf="vim ~/.config/i3/config"
+alias zshconfig="vim ~/.zshrc"
+alias uni="cd ~/Documents/wmiuwr/semestr-6"
+alias gentmp="echo tmp-`date +"%Y%m%d%H%M%S"`"
+
+unalias ll
+ll () {
+ /bin/ls -lAFbhv --color=always $@ | less -XER
+}
+
+genpwd () {
+ hexdump -e '"%_p"' /dev/urandom | sed "s/[^0-9A-HJ-NP-Z]//g" | tr -d '\n' | head -c 32 | sed '$a\'
+}
+
+unite-wyklady () {
+ find ./ -regex \.\*wyklad\-\[1-9\]\.\* | sort -V | cat - <(echo wyklad-calosc-tmp.pdf) | xargs pdfunite
+ ps2pdf wyklad-calosc-tmp.pdf wyklad-calosc.pdf
+ rm -f wyklad-calosc-tmp.pdf
+ git add wyklad-calosc.pdf
+}
+
+vim () {
+ nvim $@
+}
+
+nvimconf () {
+ nvim ~/.config/nvim
+}
+
+source /home/framal/.config/gruvbox_256palette.sh