commit 4405cbc796da35f9dc5006ac501454059437d3f3 Author: E. Almqvist Date: Fri Jun 12 11:28:47 2020 +0200 Dotfiles :D diff --git a/README.md b/README.md new file mode 100644 index 0000000..18756c5 --- /dev/null +++ b/README.md @@ -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.*** diff --git a/i3/config b/i3/config new file mode 100644 index 0000000..d32955f --- /dev/null +++ b/i3/config @@ -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 diff --git a/polybar/config b/polybar/config new file mode 100644 index 0000000..484b436 --- /dev/null +++ b/polybar/config @@ -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: +;