diff options
| author | Jokler <jokler.contact@gmail.com> | 2019-05-14 22:13:09 +0200 |
|---|---|---|
| committer | Jokler <jokler.contact@gmail.com> | 2019-05-14 22:13:09 +0200 |
| commit | 64b3f5883e5523e5193ba1583790cc8cfafcfe6e (patch) | |
| tree | 8c604f28ede436cb2f43bd0a1c3c70d4e12461e6 /.config | |
| download | dotfiles-64b3f5883e5523e5193ba1583790cc8cfafcfe6e.tar.gz dotfiles-64b3f5883e5523e5193ba1583790cc8cfafcfe6e.zip | |
Add scripts, polybar and i3 config files
Diffstat (limited to '.config')
| -rw-r--r-- | .config/i3/config | 235 | ||||
| -rwxr-xr-x | .config/i3/launch_compton.sh | 12 | ||||
| -rw-r--r-- | .config/i3/layouts/coms.json | 29 | ||||
| -rw-r--r-- | .config/i3/layouts/music.json | 27 | ||||
| -rw-r--r-- | .config/i3/layouts/videos.json | 11 | ||||
| -rw-r--r-- | .config/polybar/config | 333 | ||||
| -rwxr-xr-x | .config/polybar/launch.sh | 14 |
7 files changed, 661 insertions, 0 deletions
diff --git a/.config/i3/config b/.config/i3/config new file mode 100644 index 0000000..91fd4ac --- /dev/null +++ b/.config/i3/config @@ -0,0 +1,235 @@ +# i3 config file (v4) +# Please see https://i3wm.org/docs/userguide.html for a complete reference! + +set $mod Mod4 + +# Font for window titles. +font pango:monospace 8 + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# start a terminal +bindsym $mod+Return exec current-term + +# kill focused window +bindsym $mod+Shift+q kill + +# change focus +bindsym $mod+j focus left +bindsym $mod+k focus down +bindsym $mod+l focus up +bindsym $mod+semicolon focus right + +# 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+j move left +bindsym $mod+Shift+k move down +bindsym $mod+Shift+l move up +bindsym $mod+Shift+semicolon 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 + +# Super+Alt to move the entire workspace to another monitor +bindsym $mod+Mod1+j move workspace to output left +bindsym $mod+Mod1+semicolon move workspace to output right + +bindsym $mod+Mod1+Left move workspace to output left +bindsym $mod+Mod1+Right move workspace to output right + +# split in horizontal orientation +bindsym $mod+h 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+d floating toggle + +bindsym $mod+Mod1+d sticky toggle + +# change focus between tiling / floating windows + bindsym $mod+d focus mode_toggle + +# focus the parent container +bindsym $mod+a focus parent + +set $mon_left "DVI-D-0" +set $mon_center "DVI-I-1" +set $mon_right "HDMI-0" + +# Workspaces for whatever +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" + +# Extra workspaces (mostly for secondary monitors) +set $ws_coms "coms" +set $ws_videos "videos" +set $ws_music "music" +set $ws_steam "steam" +set $ws_game "game" + +workspace $ws_coms output $mon_left +workspace $ws_videos output $mon_right +workspace $ws_music output $mon_right +#workspace $ws_steam output $mon_center +#workspace $ws_game output $mon_center + +# switch to workspace +bindsym $mod+1 workspace $ws1 +bindsym $mod+2 workspace $ws2 +bindsym $mod+3 workspace $ws3 +bindsym $mod+4 workspace $ws4 +bindsym $mod+5 workspace $ws5 +bindsym $mod+6 workspace $ws6 +bindsym $mod+7 workspace $ws7 +bindsym $mod+8 workspace $ws8 +bindsym $mod+9 workspace $ws9 +bindsym $mod+0 workspace $ws10 + +bindsym $mod+grave workspace $ws_coms +bindsym $mod+minus workspace $ws_steam +bindsym $mod+g workspace $ws_game +bindsym $mod+m workspace $ws_music + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace $ws1 +bindsym $mod+Shift+2 move container to workspace $ws2 +bindsym $mod+Shift+3 move container to workspace $ws3 +bindsym $mod+Shift+4 move container to workspace $ws4 +bindsym $mod+Shift+5 move container to workspace $ws5 +bindsym $mod+Shift+6 move container to workspace $ws6 +bindsym $mod+Shift+7 move container to workspace $ws7 +bindsym $mod+Shift+8 move container to workspace $ws8 +bindsym $mod+Shift+9 move container to workspace $ws9 +bindsym $mod+Shift+0 move container to workspace $ws10 + +bindsym $mod+Shift+grave move container to workspace $ws_coms +bindsym $mod+Shift+m move container to workspace $ws_music +bindsym $mod+Shift+minus move container to workspace $ws_steam +bindsym $mod+Shift+g move container to workspace $ws_game + +# 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 + +set $system_mode "[s]hutdown, [r]eboot, s[u]spend, [l]ogout, l[o]ck" +mode $system_mode { + bindsym s exec systemctl poweroff + bindsym r exec systemctl reboot + bindsym u exec systemctl suspend + bindsym l exec i3-msg exit + bindsym o exec betterlockscreen -l; mode "default" + + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+Shift+e mode "default" +} + +bindsym $mod+Shift+e mode $system_mode + +mode "resize" { + bindsym j resize shrink width 1 px or 1 ppt + bindsym k resize grow height 1 px or 1 ppt + bindsym l resize shrink height 1 px or 1 ppt + bindsym semicolon resize grow width 1 px or 1 ppt + + bindsym Left resize shrink width 1 px or 1 ppt + bindsym Down resize grow height 1 px or 1 ppt + bindsym Up resize shrink height 1 px or 1 ppt + bindsym Right resize grow width 1 px or 1 ppt + + bindsym Shift+j resize shrink width 10 px or 10 ppt + bindsym Shift+k resize grow height 10 px or 10 ppt + bindsym Shift+l resize shrink height 10 px or 10 ppt + bindsym Shift+semicolon resize grow width 10 px or 10 ppt + + bindsym Shift+Left resize shrink width 10 px or 10 ppt + bindsym Shift+Down resize grow height 10 px or 10 ppt + bindsym Shift+Up resize shrink height 10 px or 10 ppt + bindsym Shift+Right resize grow width 10 px or 10 ppt + + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" +} + +bindsym $mod+r mode "resize" + +# Rofi Bindings +bindsym $mod+space exec rofi -modi run -show run -matching fuzzy +bindsym $mod+p exec $HOME/scripts/rofi-passmenu -matching fuzzy +bindsym $mod+c exec clipmenu -p "copy" -matching fuzzy +bindsym $mod+i exec rofi-kvmap -matching fuzzy +bindsym $mod+equal exec rofi -show calc -modi calc -no-show-match -no-sort + +# Stupid idea i don't want to give up on +bindsym $mod+x exec rofi-workspaces -p "go to" -matching fuzzy +bindsym $mod+Shift+x exec rofi-workspaces --move -p "move to" -matching fuzzy + +# Volume controls +bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -1% +bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +1% +bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle + +for_window [class="^com-atlauncher-App"] floating enable +for_window [class="^TeamViewer"] floating enable +for_window [title="^chatterino$"] floating enable +for_window [title="^Emotes from .*$"] floating enable +for_window [title="^Steam Guard .*$"] floating enable +for_window [instance="upc.exe" title="Installing.*"] floating enable +for_window [instance="ripcord" title="User Profile"] floating enable + +# No borders in my world +for_window [class=".*"] border none + +gaps inner 5 +gaps outer 2 +smart_gaps yes + +# Do not touch my mouse while I use it! +mouse_warping none +focus_follows_mouse no + +# Layouts I want pretty much all the time +exec --no-startup-id i3-msg "workspace $ws_coms; append_layout $HOME/.config/i3/layouts/coms.json" +exec --no-startup-id i3-msg "workspace $ws_music; append_layout $HOME/.config/i3/layouts/music.json" +exec --no-startup-id i3-msg "workspace $ws_videos; append_layout $HOME/.config/i3/layouts/videos.json" + +exec --no-startup-id teamspeak3 +exec --no-startup-id sweechat +exec --no-startup-id svimpc +exec --no-startup-id scava +exec --no-startup-id mpv-gui +exec --no-startup-id pasystray + +# These get restarted with i3 to reload their config files +exec_always --no-startup-id $HOME/.config/polybar/launch.sh +exec_always --no-startup-id $HOME/.config/i3/launch_compton.sh +exec_always --no-startup-id nitrogen --restore diff --git a/.config/i3/launch_compton.sh b/.config/i3/launch_compton.sh new file mode 100755 index 0000000..1b2f5a1 --- /dev/null +++ b/.config/i3/launch_compton.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +# Terminate already running bar instances +killall -q compton + +# Wait until the processes have been shut down +while pgrep -u $UID -x compton >/dev/null; do sleep 1; done + +# Launch Polybar, using default config location ~/.config/polybar/config +compton & + +echo "compton launched..." diff --git a/.config/i3/layouts/coms.json b/.config/i3/layouts/coms.json new file mode 100644 index 0000000..6e93d00 --- /dev/null +++ b/.config/i3/layouts/coms.json @@ -0,0 +1,29 @@ +{ + "layout": "splith", + "percent": 1, + "type": "con", + "nodes": [ + { + "name": "Terminal", + "percent": 0.7, + "swallows": [ + { + "instance": "^weechat$" + } + ], + "type": "con" + }, + { + "name": "TeamSpeak 3", + "percent": 0.3, + "swallows": [ + { + "class": "^TeamSpeak\\ 3$", + "instance": "^ts3client_linux_amd64$", + "title": "^TeamSpeak\\ 3$" + } + ], + "type": "con" + } + ] +} diff --git a/.config/i3/layouts/music.json b/.config/i3/layouts/music.json new file mode 100644 index 0000000..8f80aab --- /dev/null +++ b/.config/i3/layouts/music.json @@ -0,0 +1,27 @@ +{ + "layout": "splitv", + "percent": 1, + "type": "con", + "nodes": [ + { + "name": "MPD Interface", + "percent": 0.8, + "swallows": [ + { + "instance": "^vimpc$" + } + ], + "type": "con" + }, + { + "name": "Visualizer", + "percent": 0.2, + "swallows": [ + { + "instance": "^cava$" + } + ], + "type": "con" + } + ] +} diff --git a/.config/i3/layouts/videos.json b/.config/i3/layouts/videos.json new file mode 100644 index 0000000..b353149 --- /dev/null +++ b/.config/i3/layouts/videos.json @@ -0,0 +1,11 @@ +{ + "name": "mpv", + "percent": 1, + "swallows": [ + { + "class": "^mpv$", + "instance": "^gl$" + } + ], + "type": "con" +} diff --git a/.config/polybar/config b/.config/polybar/config new file mode 100644 index 0000000..ae2f8b9 --- /dev/null +++ b/.config/polybar/config @@ -0,0 +1,333 @@ + +[colors] +background = #2220 +background-alt = #444 +foreground = #dfdfdf +foreground-alt = #555 +primary = #0fb5aa +secondary = #e60053 +alert = #bd2c40 + + +[bar/left] +monitor = ${env:MONITOR:DVI-D-0} +width = 100% +height = 20 +radius = 0.0 +fixed-center = false + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 3 +line-color = #f00 + +border-size = 4 +border-color = #00000000 + +padding-left = 0 +padding-right = 2 + +module-margin-left = 1 +module-margin-right = 2 + +font-0 = fixed:pixelsize=10;1 +font-1 = Unifont:fontformat=truetype:size=8:antialias=false;0 +font-2 = "WunconSiji:pixelsize=10;1" + +modules-left = date +modules-center = +modules-right = i3 + +scroll-up = i3wm-wsnext +scroll-down = i3wm-wsprev + +cursor-click = pointer +cursor-scroll = + + +[bar/center] +monitor = ${env:MONITOR:DVI-I-1} +width = 100% +height = 25 +radius = 0.0 +fixed-center = false + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 3 +line-color = #f00 + +border-size = 4 +border-color = #00000000 + +padding-left = 0 +padding-right = 2 + +module-margin-left = 1 +module-margin-right = 2 + +font-0 = fixed:pixelsize=10;1 +font-1 = Unifont:fontformat=truetype:size=8:antialias=false;0 +font-2 = "WunconSiji:pixelsize=10;1" + +modules-left = i3 +modules-center = xwindow +modules-right = filesystem pulseaudio memory cpu eth temperature date powermenu + +tray-position = right +tray-padding = 2 + +scroll-up = i3wm-wsnext +scroll-down = i3wm-wsprev + +cursor-click = pointer +cursor-scroll = + + +[bar/right] +monitor = ${env:MONITOR:HDMI-0} +width = 100% +height = 20 +radius = 0.0 +fixed-center = false + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 3 +line-color = #f00 + +border-size = 4 +border-color = #00000000 + +padding-left = 0 +padding-right = 2 + +module-margin-left = 1 +module-margin-right = 2 + +font-0 = fixed:pixelsize=10;1 +font-1 = Unifont:fontformat=truetype:size=8:antialias=false;0 +font-2 = "WunconSiji:pixelsize=10;1" + +modules-left = i3 +modules-center = mpd +modules-right = date + +scroll-up = i3wm-wsnext +scroll-down = i3wm-wsprev + +cursor-click = pointer +cursor-scroll = + + +[module/xwindow] +type = internal/xwindow +label = %title% +label-maxlen = 100 + + +[module/filesystem] +type = internal/fs +interval = 25 + +mount-0 = / + +label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%% +label-unmounted = %mountpoint% not mounted +label-unmounted-foreground = ${colors.foreground-alt} + + +[module/i3] +type = internal/i3 +format = <label-state> <label-mode> +index-sort = true +wrapping-scroll = false +reverse-scroll = false + +; Only show workspaces on the same output as the bar +pin-workspaces = true + +label-mode-padding = 2 +label-mode-foreground = #000 +label-mode-background = ${colors.primary} + +; focused = Active workspace on focused monitor +label-focused = %name% +label-focused-background = ${colors.background-alt} +label-focused-underline= ${colors.primary} +label-focused-padding = 2 + +; unfocused = Inactive workspace on any monitor +label-unfocused = %name% +label-unfocused-padding = 2 + +; visible = Active workspace on unfocused monitor +label-visible = %name% +label-visible-background = ${self.label-focused-background} +label-visible-underline = ${self.label-focused-underline} +label-visible-padding = 2 + +; urgent = Workspace with urgency hint set +label-urgent = %name% +label-urgent-background = ${colors.alert} +label-urgent-padding = 2 + + +[module/mpd] +type = internal/mpd +format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next> + +icon-prev = +icon-stop = +icon-play = +icon-pause = +icon-next = + +label-song-maxlen = 25 +label-song-ellipsis = true + + +[module/cpu] +type = internal/cpu +interval = 2 +format-prefix = " " +format-prefix-foreground = ${colors.foreground-alt} +format-underline = #f90000 +label = %percentage:2%% + + +[module/memory] +type = internal/memory +interval = 2 +format = <ramp-used> <label> +format-prefix-foreground = ${colors.foreground-alt} +format-underline = #4bffdc +label = %gb_used% +ramp-used-0 = ▁ +ramp-used-1 = ▂ +ramp-used-2 = ▃ +ramp-used-3 = ▄ +ramp-used-4 = ▅ +ramp-used-5 = ▆ +ramp-used-6 = ▇ +ramp-used-7 = █ + + +[module/eth] +type = internal/network +interface = enp0s25 +interval = 3.0 + +format-connected-underline = #55aa55 +format-connected-prefix = " " +format-connected-prefix-foreground = ${colors.foreground-alt} +label-connected = %local_ip% + +format-disconnected = + + +[module/date] +type = internal/date +interval = 5 + +date = " %y-%m-%d" +date-alt = + +time = %H:%M +time-alt = %H:%M:%S + +format-prefix-foreground = ${colors.foreground-alt} +format-underline = #0a6cf5 + +label = %date% %time% + + +[module/pulseaudio] +type = internal/pulseaudio + +format-volume = <label-volume> <bar-volume> +label-volume = VOL %percentage%% +label-volume-foreground = ${root.foreground} + +label-muted = 🔇 muted +label-muted-foreground = #666 + +bar-volume-width = 10 +bar-volume-foreground-0 = #55aa55 +bar-volume-foreground-1 = #55aa55 +bar-volume-foreground-2 = #55aa55 +bar-volume-foreground-3 = #55aa55 +bar-volume-foreground-4 = #55aa55 +bar-volume-foreground-5 = #f5a70a +bar-volume-foreground-6 = #ff5555 +bar-volume-gradient = false +bar-volume-indicator = | +bar-volume-indicator-font = 2 +bar-volume-fill = ─ +bar-volume-fill-font = 2 +bar-volume-empty = ─ +bar-volume-empty-font = 2 +bar-volume-empty-foreground = ${colors.foreground-alt} + + +[module/temperature] +type = internal/temperature +thermal-zone = 0 +warn-temperature = 60 + +format = <ramp> <label> +format-underline = #f50a4d +format-warn = <ramp> <label-warn> +format-warn-underline = ${self.format-underline} + +label = %temperature-c% +label-warn = %temperature-c% +label-warn-foreground = ${colors.secondary} + +ramp-0 = +ramp-1 = +ramp-2 = +ramp-foreground = ${colors.foreground-alt} + + +[module/powermenu] +type = custom/menu + +expand-right = true + +format-spacing = 1 + +label-open = +label-open-foreground = ${colors.secondary} +label-close = cancel +label-close-foreground = ${colors.secondary} +label-separator = | +label-separator-foreground = ${colors.foreground-alt} + +menu-0-0 = reboot +menu-0-0-exec = menu-open-1 +menu-0-1 = power off +menu-0-1-exec = menu-open-2 + +menu-1-0 = cancel +menu-1-0-exec = menu-open-0 +menu-1-1 = reboot +menu-1-1-exec = systemctl reboot + +menu-2-0 = power off +menu-2-0-exec = systemctl poweroff +menu-2-1 = cancel +menu-2-1-exec = menu-open-0 + + +[settings] +screenchange-reload = true + +[global/wm] +margin-top = 5 +margin-bottom = 0 + +; vim:ft=dosini diff --git a/.config/polybar/launch.sh b/.config/polybar/launch.sh new file mode 100755 index 0000000..f39972f --- /dev/null +++ b/.config/polybar/launch.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +# 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 Polybar, using default config location ~/.config/polybar/config +polybar left & +polybar center & +polybar right & + +echo "Polybar launched..." |
