Dotfiles :D

lightmode
E. Almqvist 5 years ago
commit 4405cbc796
  1. 12
      README.md
  2. 243
      i3/config
  3. 564
      polybar/config
  4. 17
      polybar/launch.sh
  5. 20
      polybar/scripts/check-all-updates.sh
  6. 194
      polybar/scripts/pavolume.sh
  7. 138
      rofi/config.rasi
  8. 14
      rofi/dunst.rasi
  9. 101
      rofi/onedark.rasi
  10. 35
      termite/config
  11. 47
      vimrc

@ -0,0 +1,12 @@
**Specs**
WM: i3-gaps (i3wm)
Terminal: Termite
Editor: GVim
**Dependencies**
polybar (AUR)
i3-gaps
rofi
compton
***And all other dependencies that those require.***

@ -0,0 +1,243 @@
# 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:Ubuntu Mono 10
# 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
# 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
# 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 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
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec termite
# kill focused window
bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
# bindsym $mod+d exec dmenu_run
# Start rofi instead of dmenu because dmenu sucks
bindsym $mod+d exec rofi -show drun -lines 4 -eh 2 -width 100 -padding 800 -opacity "85" -bw 0 -bc "$bg-color" -bg "$bg-color" -fg "$text-color" -hlbg "$bg-color" -hlfg "#9575cd" -font "System Ubuntu Mono Display 18" -theme onedark
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
# 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
# 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+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:I"
set $ws2 "2:II"
set $ws3 "3:III"
set $ws4 "4:IV"
set $ws5 "5:V"
set $ws6 "6:VI"
set $ws7 "7:VII"
set $ws8 "8:VIII"
set $ws9 "9:IX"
set $ws10 "10:X"
# 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
# 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
# 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 j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym semicolon 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"
set $bg-color #242424
set $bg-color-bar #151515
set $inactive-bg-color #121212
set $text-color #f3f4f5
set $inactive-text-color #676E7D
set $urgent-bg-color #E53935
set $indicator-color #84939c
# window colors
# border background text indicator
client.focused $bg-color $bg-color $text-color $indicator-color
client.unfocused $inactive-bg-color $inactive-bg-color $inactive-text-color $indicator-color
client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color $indicator-color
client.urgent $urgent-bg-color $urgent-bg-color $text-color $indicator-color
# Border
# new_window pixel 3
# new_float pixel 3
# hide_edge_borders both
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
#bar {
# status_command i3blocks -c $HOME/.i3/i3blocks.conf
# position top
# colors {
# background $bg-color-bar
# separator #757575
# border background text
# focused_workspace $bg-color $bg-color $text-color
# inactive_workspace $inactive-bg-color $inactive-bg-color $inactive-text-color
# urgent_workspace $urgent-bg-color $urgent-bg-color $text-color
# }
#}
#### Custom stuff
# sticky window
bindsym $mod+Shift+s sticky toggle
# gaps
gaps outer 4
gaps inner 12
# Wallpaper
exec_always feh --bg-fill $HOME/.wallpaper.jpg
# Monitor stuff
exec_always xrandr --output DP-0 --off --output DP-1 --off --output DP-2 --primary --mode 2560x1080 --pos 1920x0 --rotate normal --output DP-3 --off --output HDMI-0 --mode 1920x1080 --pos 0x0 --rotate normal --output DP-4 --off --output DP-5 --off
# Keyboard layout
exec_always setxkbmap se # set keyboard layout to swedish (sv-latin1)
# Binds
bindsym $mod+Shift+x exec betterlockscreen --lock blur # screen lock
bindsym $mod+lalt+space exec rofi -show drun
# Compositor
exec_always compton
# Polybar
exec_always --no-startup-id $HOME/.config/polybar/launch.sh

@ -0,0 +1,564 @@
[colors]
background = #52272727
foreground = #eee
linecolor = #bf616a
bordercolor = #52252525
accent = #e60053
[settings]
screenchange-reload = true
;throttle-output-for = 10
;throttle-output = 5
;throttle-input-for = 40
;compositing-background = over
;compositing-background = screen
;compositing-foreground = xor
;compositing-foreground = source
;compositing-border = over
[global/wm]
margin-top = 0
margin-bottom = 0
[bar/top]
enable-ipc = true
monitor = ${env:MONITOR}
width = 100%
height = 24
;radius = 5.0
;fixed-center = false
;override-redirect = true
background = ${colors.background}
foreground = ${colors.foreground}
;background-0 = #333
;background-1 = #222
;background-2 = ${self.background-1}
;background-3 = ${self.background-1}
;background-4 = ${self.background-1}
;background-5 = ${self.background-1}
;background-6 = ${self.background-1}
;background-7 = #111
line-color = ${colors.linecolor}
underline-size = 1
overline-size = 2
;border-size = 5
;border-color = 0
;border-bottom-size = 0
border-bottom-size = 4
border-bottom-color = ${colors.bordercolor}
padding-left = 0
padding-right = 2
module-margin-left = 1
module-margin-right = 2
font-0 = dina:pixelsize=10;1
font-1 = siji:pixelsize=20;1
font-2 = unifont:size=6;1
font-3 = FontAwesome:size=12;0
modules-left = i3
;modules-center = mpd
modules-center = xwindow
modules-right = wired cpu temperature memory pavolume date
tray-position = right
tray-padding = 4
tray-maxsize = 18
;tray-transparent = true
;tray-detached = true
;tray-offset-x = 50
wm-restack = bspwm
;dim-value = 0.2
;click-left =
;click-middle =
;click-right =
scroll-up = bspwm-deskprev
scroll-down = bspwm-desknext
;scroll-up = i3wm-wsnext
;scroll-down = i3wm-wsprev
;double-click-left = notify-send -u low doubleclick
;double-click-right = notify-send -u low doubleclick2
# bar/module specific vars
bspwm-focused-overline = ${colors.linecolor}
bspwm-focused-underline = #cc333333
[bar/bottom]
inherit = bar/top
enable-ipc = true
monitor = ${env:MONITOR:HDMI1}
;monitor-fallback = eDP-1
bottom = true
;override-redirect = true
underline-size = ${bar/top.overline-size}
overline-size = ${bar/top.underline-size}
;border-top-size = 2
;border-top-color = ${colors.bordercolor}
;border-bottom-size = 0
modules-left = bspwm i3
;modules-left =
;modules-left = xwindow
;modules-center = xwindow
modules-center =
modules-right = github fs-root date power-menu
wm-restack = ${bar/top.wm-restack}
tray-position = none
# bar/module specific vars
bspwm-focused-overline = #cc333333
bspwm-focused-underline = ${colors.linecolor}
#################################################################################
# MODULES #
#################################################################################
[module/pavolume]
type = custom/script
tail = true
label = %{F#666}%{F-} %output%
exec = ~/.config/polybar/scripts/pavolume.sh --listen
click-right = exec pavucontrol
click-left = ~/.config/polybar/scripts/pavolume.sh --togmute
scroll-up = ~/.config/polybar/scripts/pavolume.sh --up
scroll-down = ~/.config/polybar/scripts/pavolume.sh --down
[module/temperature]
type = internal/temperature
; Seconds to sleep between updates
; Default: 1
interval = 0.5
; Thermal zone to use
; To list all the zone types, run
; $ for i in /sys/class/thermal/thermal_zone*; do echo "$i: $(<$i/type)"; done
; Default: 0
thermal-zone = 0
; Full path of temperature sysfs path
; Use `sensors` to find preferred temperature source, then run
; $ for i in /sys/class/hwmon/hwmon*/temp*_input; do echo "$(<$(dirname $i)/name): $(cat ${i%_*}_label 2>/dev/null || echo $(basename ${i%_*})) $(readlink -f $i)"; done
; to find path to desired file
; Default reverts to thermal zone setting
hwmon-path = /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
; Base temperature for where to start the ramp (in degrees celsius)
; Default: 0
base-temperature = 20
; Threshold temperature to display warning label (in degrees celsius)
; Default: 80
warn-temperature = 60
; Whether or not to show units next to the temperature tokens (°C, °F)
; Default: true
units = false
; Available tags:
; <label> (default)
; <ramp>
format = <ramp> <label>
; Available tags:
; <label-warn> (default)
; <ramp>
format-warn = <ramp> <label-warn>
; Available tokens:
; %temperature% (deprecated)
; %temperature-c% (default, temperature in °C)
; %temperature-f% (temperature in °F)
label = %temperature-c%° C
; Available tokens:
; %temperature% (deprecated)
; %temperature-c% (default, temperature in °C)
; %temperature-f% (temperature in °F)
label-warn = %temperature-c%° C !
label-warn-foreground = #f00
; Requires the <ramp> tag
; The icon selection will range from `base-temperature` to `warn-temperature`,
; temperatures above `warn-temperature` will use the last icon
; and temperatures below `base-temperature` will use `ramp-0`
ramp-0 = temp:
ramp-1 = temp:
ramp-2 = temp:
ramp-foreground = #55
[module/github]
type = internal/github
token = ${file:/home/jaagr/.git-token}
;empty-notifications = true
label = %{A1:web --new-window https\://github.com/notifications&:}%notifications%%{A}
label-padding = 2
label-background = #f0c209
label-foreground = #000
[module/fs-root]
type = internal/fs
mount-0 = /
label-mounted = %{F#e60053}%percentage_used%%%{F-} used of %mountpoint%
[module/bspwm]
type = internal/bspwm
enable-scroll = false
format = <label-state> <label-mode>
;format = <label-monitor> <label-state> <label-mode>
;pin-workspaces = false
;ws-icon-0 = term;
;ws-icon-1 = web;
;ws-icon-2 = code;
;ws-icon-3 = music;
;ws-icon-4 = irssi;
;ws-icon-default =
ws-icon-default = x
inline-mode = true
;label-focused = %icon%
label-focused = o
label-focused-background = #383838
label-focused-foreground = #fff
label-focused-overline = ${root.bspwm-focused-overline}
label-focused-underline = ${root.bspwm-focused-underline}
label-focused-padding = 2
label-focused-occupied = %{O-1}⏺%{O-1}
label-focused-occupied-background = ${self.label-focused-background}
label-focused-occupied-foreground = ${self.label-focused-foreground}
label-focused-occupied-overline = ${self.label-focused-overline}
label-focused-occupied-underline = ${self.label-focused-underline}
label-focused-occupied-padding = ${self.label-focused-padding}
;label-occupied = %icon%
label-occupied = %{O-1}⏺%{O-1}
label-occupied-padding = 2
;label-urgent = %icon%
label-urgent = !
label-urgent-background = #bd2c40
label-urgent-padding = 2
;label-empty = %icon%
label-empty = x
label-empty-foreground = #444
label-empty-padding = 2
label-monocle =
label-monocle-padding = 2
label-monocle-background = #171717
label-monocle-foreground = ${colors.accent}
label-floating =
label-floating-padding = 2
label-floating-background = #171717
label-floating-foreground = ${colors.accent}
label-locked = locked
label-locked-padding = 1
label-sticky = sticky
label-sticky-padding = 1
label-private = private
label-private-padding = 1
;label-pseudotiled = pseudo
;label-pseudotiled-padding = 2
;label-pseudotiled-background = #f09
;label-tiled = tiled
;label-tiled-padding = 2
;label-tiled-background = #f90
label-dimmed-background = ${root.background}
label-dimmed-overline = ${root.background}
label-dimmed-underline = ${root.background}
label-dimmed-active-foreground = #f00
[module/i3]
type = internal/i3
index-sort = true
pin-workspaces = true
wrapping-scroll = true
strip-wsnumbers = true
;reverse-scroll = false
;enable-scroll = false
format = <label-state> <label-mode>
label-mode = %mode%
label-mode-padding = 2
label-mode-background = ${colors.accent}
label-focused = %name%
label-focused-background = ${module/bspwm.label-focused-background}
label-focused-foreground = ${module/bspwm.label-focused-foreground}
label-focused-overline= ${module/bspwm.label-focused-overline}
label-focused-underline= ${module/bspwm.label-focused-underline}
label-focused-padding = ${module/bspwm.label-focused-padding}
label-unfocused = %name%
label-unfocused-padding = ${module/bspwm.label-occupied-padding}
label-urgent = %name%!
label-urgent-background = ${module/bspwm.label-urgent-background}
label-urgent-padding = ${module/bspwm.label-urgent-padding}
label-visible = %name%
label-visible-padding = ${module/bspwm.label-empty-padding}
[module/cpu]
type = internal/cpu
interval = 2
label = %percentage%%
format-prefix = " cpu: "
format-prefix-foreground = #666
[module/memory]
type = internal/memory
interval = 2
label = %percentage_used%%
format-prefix = " mem: "
format-prefix-foreground = #666
[module/wifi]
type = internal/network
interface = enp0s31f6
interval = 3.0
;udspeed-minwidth = 0
format-connected = <ramp-signal> <label-connected>
format-connected-prefix = " "
format-connected-prefix-foreground = #666
format-connected-prefix-offset = -6
label-connected = %downspeed:8%
;format-disconnected = <label-disconnected>
;format-disconnected-prefix = " "
;format-disconnected-prefix-foreground = #666
;label-disconnected = not connected
;label-disconnected-foreground = #999
ramp-signal-0 =
ramp-signal-1 =
ramp-signal-2 =
ramp-signal-3 =
ramp-signal-4 =
ramp-signal-foreground = #666
[module/wired]
type = internal/network
interface = enp0s31f6
interval = 3.0
format-connected-prefix = " lan: "
format-connected-prefix-foreground = #666
label-connected = %local_ip%
format-disconnected = <label-disconnected>
format-disconnected-prefix = ""
format-disconnected-prefix-foreground = #666
label-disconnected = not connected
label-disconnected-foreground = #999
[module/date]
type = internal/date
label = %{F#666} %{F-} %date% %time%
date = %Y-%m-%d
time = %H:%M:%S
interval = 1
[module/xbacklight]
type = internal/xbacklight
format = <ramp> <label>
ramp-0 =
ramp-1 =
ramp-2 =
ramp-foreground = #666
label-foreground = ${root.foreground}
[module/volume]
type = internal/volume
speaker-mixer = Speaker
headphone-mixer = Headphone
headphone-id = 9
format-volume = <ramp-volume> <label-volume>
label-volume = %percentage%%
label-volume-foreground = ${root.foreground}
format-muted-prefix = " "
format-muted-foreground = #777
label-muted = sound muted
ramp-volume-0 =
ramp-volume-1 =
ramp-volume-2 =
ramp-volume-3 =
ramp-volume-foreground = #666
ramp-headphones-0 =
ramp-headphones-1 =
ramp-headphones-foreground = #666
[module/battery]
type = internal/battery
full-at = 98
time-format = %H:%M
format-charging = <animation-charging> <label-charging>
label-charging = %percentage%% %time%
format-discharging = <ramp-capacity> <label-discharging>
label-discharging = %percentage%% %time%
format-full = <label-full>
format-full-prefix = " "
format-full-prefix-foreground = #666
ramp-capacity-0 =
ramp-capacity-1 =
ramp-capacity-2 =
ramp-capacity-foreground = #666
animation-charging-0 =
animation-charging-1 =
animation-charging-2 =
animation-charging-foreground = #666
animation-charging-framerate = 750
;[module/battery-multi]
;type = custom/script
;exec = "count=$(acpi -b | wc -l); sum=$(acpi -b | egrep -o '[0-9]{1,3}%' | tr -d '%' | xargs -I% echo -n '+%'); echo $(date +%s) Avg capacity: $(( sum / count ))%"
;exec-if = pgrep -x watch
;interval = 3
[module/mpd]
type = internal/mpd
;format-online = <label-time> <bar-progress> <label-song> <icon-prev> <icon-stop> <toggle> <icon-next> <icon-repeat> <icon-random>
format-online = <label-time> %{F#88}|%{F-} <label-song> <icon-prev><icon-stop><toggle><icon-next> <icon-repeat><icon-random>
format-online-spacing = 0
format-online-background = #ee333333
format-online-underline = #cc333333
format-online-padding = 3
format-offline = <label-offline>
format-offline-foreground = #777
label-offline = mpd is off
label-song-maxlen = 45
label-song-ellipsis = true
label-time-foreground = #777
icon-prev =
icon-stop =
icon-play =
icon-pause =
icon-next =
icon-random =
icon-repeat =
toggle-on-foreground = ${colors.accent}
toggle-off-foreground = #777
;bar-progress-width = 10
;bar-progress-indicator =
;bar-progress-indicator-foreground = #bb
;bar-progress-fill = ─
;bar-progress-fill-foreground = #bb
;bar-progress-fill-font = 3
;bar-progress-empty = ─
;bar-progress-empty-foreground = #44
;bar-progress-empty-font = 3
[module/power-menu]
type = custom/menu
label-open =
label-close =
label-separator = /
label-separator-margin = 1
menu-0-0 = Terminate WM
menu-0-0-foreground = ${colors.accent}
menu-0-0-exec = bspc quit -1
menu-0-1 = Reboot
menu-0-1-foreground = ${colors.accent}
menu-0-1-exec = menu-open-1
menu-0-2 = Power off
menu-0-2-foreground = ${colors.accent}
menu-0-2-exec = menu-open-2
menu-0-3 = Lock
menu-0-3-foreground = ${colors.accent}
menu-0-3-exec = lockscreen
menu-1-0 = Cancel
menu-1-0-foreground = ${colors.accent}
menu-1-0-exec = menu-open-0
menu-1-1 = Reboot
menu-1-1-foreground = ${colors.accent}
menu-1-1-exec = sudo reboot
menu-2-0 = Power off
menu-2-0-foreground = ${colors.accent}
menu-2-0-exec = sudo poweroff
menu-2-1 = Cancel
menu-2-1-foreground = ${colors.accent}
menu-2-1-exec = menu-open-0
[module/app-menu]
type = custom/menu
label-open =
label-close =
menu-0-0 = Vimperator
menu-0-0-exec = web
menu-0-1 = Termite
menu-0-1-exec = termite
menu-0-2 = Pcmanfm
menu-0-2-exec = pcmanfm
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
format-prefix = " "
format-prefix-foreground = #666
label-layout = %layout%
label-indicator-padding = 2
label-indicator-background = ${colors.accent}
[module/xwindow]
type = internal/xwindow
format = <label>
label-maxlen = 75
[module/counter]
type = internal/counter
format = <counter>
interval = 0.1
; vim:ft=dosini

@ -0,0 +1,17 @@
#!/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
# polybar top >>/tmp/polybar-main.log -c $HOME/.config/polybar/config &
if type "xrandr"; then
for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$m polybar --reload top &
done
else
polybar --reload top &
fi

@ -0,0 +1,20 @@
#!/bin/sh
#source https://github.com/x70b1/polybar-scripts
if ! updates_arch=$(checkupdates 2> /dev/null | wc -l ); then
updates_arch=0
fi
# if ! updates_aur=$(cower -u 2> /dev/null | wc -l); then
if ! updates_aur=$(trizen -Su --aur --quiet | wc -l); then
updates_aur=0
fi
updates=$(("$updates_arch" + "$updates_aur"))
if [ "$updates" -gt 0 ]; then
echo " $updates"
else
echo "0"
fi

@ -0,0 +1,194 @@
#!/usr/bin/env bash
# finds the active sink for pulse audio and increments the volume. useful when you have multiple audio outputs and have a key bound to vol-up and down
osd='no'
inc='2'
capvol='no'
maxvol='100'
autosync='yes'
# Muted status
# yes: muted
# no : not muted
curStatus="no"
active_sink=""
limit=$((100 - inc))
maxlimit=$((maxvol - inc))
reloadSink() {
active_sink=$(pacmd list-sinks | awk '/* index:/{print $3}')
}
function volUp {
getCurVol
if [ "$capvol" = 'yes' ]
then
if [ "$curVol" -le 100 ] && [ "$curVol" -ge "$limit" ]
then
pactl set-sink-volume "$active_sink" -- 100%
elif [ "$curVol" -lt "$limit" ]
then
pactl set-sink-volume "$active_sink" -- "+$inc%"
fi
elif [ "$curVol" -le "$maxvol" ] && [ "$curVol" -ge "$maxlimit" ]
then
pactl set-sink-volume "$active_sink" "$maxvol%"
elif [ "$curVol" -lt "$maxlimit" ]
then
pactl set-sink-volume "$active_sink" "+$inc%"
fi
getCurVol
if [ ${osd} = 'yes' ]
then
qdbus org.kde.kded /modules/kosd showVolume "$curVol" 0
fi
if [ ${autosync} = 'yes' ]
then
volSync
fi
}
function volDown {
pactl set-sink-volume "$active_sink" "-$inc%"
getCurVol
if [ ${osd} = 'yes' ]
then
qdbus org.kde.kded /modules/kosd showVolume "$curVol" 0
fi
if [ ${autosync} = 'yes' ]
then
volSync
fi
}
function getSinkInputs {
input_array=$(pacmd list-sink-inputs | grep -B 4 "sink: $1 " | awk '/index:/{print $2}')
}
function volSync {
getSinkInputs "$active_sink"
getCurVol
for each in $input_array
do
pactl set-sink-input-volume "$each" "$curVol%"
done
}
function getCurVol {
curVol=$(pacmd list-sinks | grep -A 15 "index: $active_sink$" | grep 'volume:' | grep -E -v 'base volume:' | awk -F : '{print $3}' | grep -o -P '.{0,3}%'| sed s/.$// | tr -d ' ')
}
function volMute {
case "$1" in
mute)
pactl set-sink-mute "$active_sink" 1
curVol=0
status=1
;;
unmute)
pactl set-sink-mute "$active_sink" 0
getCurVol
status=0
;;
esac
if [ ${osd} = 'yes' ]
then
qdbus org.kde.kded /modules/kosd showVolume ${curVol} ${status}
fi
}
function volMuteStatus {
curStatus=$(pacmd list-sinks | grep -A 15 "index: $active_sink$" | awk '/muted/{ print $2}')
}
# Prints output for bar
# Listens for events for fast update speed
function listen {
firstrun=0
pactl subscribe 2>/dev/null | {
while true; do
{
# If this is the first time just continue
# and print the current state
# Otherwise wait for events
# This is to prevent the module being empty until
# an event occurs
if [ $firstrun -eq 0 ]
then
firstrun=1
else
read -r event || break
if ! echo "$event" | grep -e "on card" -e "on sink"
then
# Avoid double events
continue
fi
fi
} &>/dev/null
output
done
}
}
function output() {
reloadSink
getCurVol
volMuteStatus
if [ "${curStatus}" = 'yes' ]
then
echo "muted"
else
echo "$curVol%"
fi
} #}}}
reloadSink
case "$1" in
--up)
volUp
;;
--down)
volDown
;;
--togmute)
volMuteStatus
if [ "$curStatus" = 'yes' ]
then
volMute unmute
else
volMute mute
fi
;;
--mute)
volMute mute
;;
--unmute)
volMute unmute
;;
--sync)
volSync
;;
--listen)
# Listen for changes and immediately create new output for the bar
# This is faster than having the script on an interval
listen
;;
*)
# By default print output for bar
output
;;
esac

@ -0,0 +1,138 @@
configuration {
modi: "drun";
width: 200;
lines: 10;
columns: 4;
/* bw: 1;*/
/* location: 0;*/
/* padding: 5;*/
/* yoffset: 0;*/
/* xoffset: 0;*/
/* fixed-num-lines: true;*/
show-icons: true;
terminal: "alacritty";
/* ssh-client: "ssh";*/
/* ssh-command: "{terminal} -e {ssh-client} {host}";*/
/* run-command: "{cmd}";*/
/* run-list-command: "";*/
/* run-shell-command: "{terminal} -e {cmd}";*/
/* window-command: "xkill -id {window}";*/
/* window-match-fields: "all";*/
icon-theme: "la-capitaine";
/* drun-match-fields: "name,generic,exec,categories";*/
/* disable-history: false;*/
/* sort: false;*/
/* levenshtein-sort: false;*/
/* case-sensitive: false;*/
/* cycle: true;*/
/* sidebar-mode: false;*/
eh: 2;
/* auto-select: false;*/
/* parse-hosts: false;*/
/* parse-known-hosts: true;*/
/* combi-modi: "window,run";*/
/* matching: "normal";*/
/* tokenize: true;*/
/* m: "-5";*/
/* line-margin: 2;*/
/* line-padding: 1;*/
/* filter: ;*/
/* separator-style: "dash";*/
/* hide-scrollbar: false;*/
fullscreen: true;
/* fake-transparency: false;*/
dpi: 110;
/* threads: 0;*/
/* scrollbar-width: 8;*/
/* scroll-method: 0;*/
/* fake-background: "screenshot";*/
/* window-format: "{w} {i}{c} {t}";*/
/* click-to-exit: true;*/
/* show-match: true;*/
theme: "themer";
/* color-normal: ;*/
/* color-urgent: ;*/
/* color-active: ;*/
/* color-window: ;*/
/* max-history-size: 25;*/
/* combi-hide-mode-prefix: false;*/
/* pid: "/run/user/1000/rofi.pid";*/
/* display-window: ;*/
/* display-windowcd: ;*/
display-run: "";
/* display-ssh: ;*/
display-drun: "";
/* display-combi: ;*/
/* display-keys: ;*/
/* kb-primary-paste: "Control+V,Shift+Insert";*/
/* kb-secondary-paste: "Control+v,Insert";*/
/* kb-clear-line: "Control+w";*/
/* kb-move-front: "Control+a";*/
/* kb-move-end: "Control+e";*/
/* kb-move-word-back: "Alt+b";*/
/* kb-move-word-forward: "Alt+f";*/
/* kb-move-char-back: "Left,Control+b";*/
/* kb-move-char-forward: "Right,Control+f";*/
/* kb-remove-word-back: "Control+Alt+h,Control+BackSpace";*/
/* kb-remove-word-forward: "Control+Alt+d";*/
/* kb-remove-char-forward: "Delete,Control+d";*/
/* kb-remove-char-back: "BackSpace,Control+h";*/
/* kb-remove-to-eol: "Control+k";*/
/* kb-remove-to-sol: "Control+u";*/
/* kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";*/
/* kb-accept-custom: "Control+Return";*/
/* kb-accept-alt: "Shift+Return";*/
/* kb-delete-entry: "Shift+Delete";*/
/* kb-mode-next: "Shift+Right,Control+Tab";*/
/* kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";*/
/* kb-row-left: "Control+Page_Up";*/
/* kb-row-right: "Control+Page_Down";*/
/* kb-row-up: "Up,Control+p,ISO_Left_Tab";*/
/* kb-row-down: "Down,Control+n";*/
/* kb-row-tab: "Tab";*/
/* kb-page-prev: "Page_Up";*/
/* kb-page-next: "Page_Down";*/
/* kb-row-first: "Home,KP_Home";*/
/* kb-row-last: "End,KP_End";*/
/* kb-row-select: "Control+space";*/
/* kb-screenshot: "Alt+S";*/
/* kb-toggle-case-sensitivity: "grave,dead_grave";*/
/* kb-toggle-sort: "Alt+grave";*/
/* kb-cancel: "Escape,Control+g,Control+bracketleft";*/
/* kb-custom-1: "Alt+1";*/
/* kb-custom-2: "Alt+2";*/
/* kb-custom-3: "Alt+3";*/
/* kb-custom-4: "Alt+4";*/
/* kb-custom-5: "Alt+5";*/
/* kb-custom-6: "Alt+6";*/
/* kb-custom-7: "Alt+7";*/
/* kb-custom-8: "Alt+8";*/
/* kb-custom-9: "Alt+9";*/
/* kb-custom-10: "Alt+0";*/
/* kb-custom-11: "Alt+exclam";*/
/* kb-custom-12: "Alt+at";*/
/* kb-custom-13: "Alt+numbersign";*/
/* kb-custom-14: "Alt+dollar";*/
/* kb-custom-15: "Alt+percent";*/
/* kb-custom-16: "Alt+dead_circumflex";*/
/* kb-custom-17: "Alt+ampersand";*/
/* kb-custom-18: "Alt+asterisk";*/
/* kb-custom-19: "Alt+parenleft";*/
/* kb-select-1: "Super+1";*/
/* kb-select-2: "Super+2";*/
/* kb-select-3: "Super+3";*/
/* kb-select-4: "Super+4";*/
/* kb-select-5: "Super+5";*/
/* kb-select-6: "Super+6";*/
/* kb-select-7: "Super+7";*/
/* kb-select-8: "Super+8";*/
/* kb-select-9: "Super+9";*/
/* kb-select-10: "Super+0";*/
/* ml-row-left: "ScrollLeft";*/
/* ml-row-right: "ScrollRight";*/
/* ml-row-up: "ScrollUp";*/
/* ml-row-down: "ScrollDown";*/
/* me-select-entry: "MousePrimary";*/
/* me-accept-entry: "MouseDPrimary";*/
/* me-accept-custom: "Control+MouseDPrimary";*/
}

@ -0,0 +1,14 @@
configuration {
modi: "drun";
width: 30;
lines: 1;
columns: 1;
padding: 0;
show-icons: false;
terminal: "alacritty";
eh: 1;
hide-scrollbar: true;
fullscreen: false;
dpi: 110;
theme: "base16-dmenu";
}

@ -0,0 +1,101 @@
/*
* ROFI One Dark
*
* Based on OneDark.vim (https://github.com/joshdick/onedark.vim)
*
* Author: Benjamin Stauss
* User: me-benni
*
*/
* {
black: #000000;
red: #eb6e67;
green: #95ee8f;
yellow: #f8c456;
blue: #6eaafb;
mangenta: #d886f3;
cyan: #6cdcf7;
emphasis: #50536b;
text: #dfdfdf;
text-alt: #b2b2b2;
fg: #151515;
bg: #212121;
spacing: 0;
background-color: transparent;
font: "Knack Nerd Font 10";
text-color: @text;
}
window {
transparency: "real";
fullscreen: false;
background-color: #151515dd;
width: 40%;
}
mainbox {
padding: 4% 4%;
}
inputbar {
margin: 0px 0px 20px 0px;
children: [prompt, textbox-prompt-colon, entry, case-indicator];
}
prompt {
text-color: @blue;
}
textbox-prompt-colon {
expand: false;
str: "Run:";
text-color: @text-alt;
}
entry {
margin: 0px 10px;
}
listview {
spacing: 5px;
dynamic: true;
scrollbar: false;
}
element {
padding: 5px;
text-color: @text-alt;
highlight: bold #95ee8f; /* green */
border-radius: 3px;
}
element selected {
background-color: @red;
text-color: @text;
}
element urgent, element selected urgent {
text-color: @red;
}
element active, element selected active {
text-color: @purple;
}
message {
padding: 5px;
border-radius: 3px;
background-color: @emphasis;
border: 1px;
border-color: @cyan;
}
button selected {
padding: 5px;
border-radius: 3px;
background-color: @emphasis;
}

@ -0,0 +1,35 @@
# Copyright (c) 2016-present Arctic Ice Studio <development@arcticicestudio.com>
# Copyright (c) 2016-present Sven Greb <code@svengreb.de>
# Project: Nord Termite
# Repository: https://github.com/arcticicestudio/nord-termite
# License: MIT
[options]
font = Source Code Pro Light 10
[colors]
cursor = #d8dee9
cursor_foreground = #2e3440
foreground = #d8dee9
foreground_bold = #d8dee9
background = rgba(21, 21, 21, 0.92)
highlight = #4c566a
color0 = #3b4252
color1 = #bf616a
color2 = #a3be8c
color3 = #ebcb8b
color4 = #81a1c1
color5 = #b48ead
color6 = #bf616a
color7 = #e5e9f0
color8 = #4c566a
color9 = #bf616a
color10 = #a3be8c
color11 = #ebcb8b
color12 = #81a1c1
color13 = #b48ead
color14 = #bf616a
color15 = #eceff4

47
vimrc

@ -0,0 +1,47 @@
" ##############..... ##############
" ##############......##############
" ##########..........##########
" ##########........##########
" ##########.......##########
" ##########.....##########..
" ##########....##########.....
" ..##########..##########.........
" ....##########.#########.............
" ..################JJJ............
" ################.............
" ##############.JJJ.JJJJJJJJJJ
" ############...JJ...JJ..JJ JJ
" ##########....JJ...JJ..JJ JJ
" ########......JJJ..JJJ JJJ JJJ
" ###### .........
" .....
" .
" Logic
set mouse=a
set wrap
set noet
" GUI stuff
syntax on
set nu
set ruler
" Vim-Plug
call plug#begin('~/.vim/plugged')
Plug 'https://github.com/hugolgst/vimsence.git' " Discord Presence
Plug 'sheerun/vim-polyglot' " Syntax highlightning
Plug 'preservim/nerdtree' " Tree navigation
Plug 'rafi/awesome-vim-colorschemes' " Theme collection
call plug#end()
" Mapping
" CTRL + D to open navtree
nmap <silent> <C-D> :NERDTreeToggle<CR>
" Theme
set t_Co=256
colorscheme happy_hacking
let &showbreak = '↳ '
hi Normal guibg=NONE ctermbg=NONE
Loading…
Cancel
Save