diff --git a/src/.config/i3/config b/src/.config/i3/config index 21d1cee..c102afd 100644 --- a/src/.config/i3/config +++ b/src/.config/i3/config @@ -16,38 +16,46 @@ font pango:DejaVu Sans Mono 12 #exec_always xrandr --dpi 165 # start polybar -exec_always --no-startup-id ~/.config/i3/polybar.sh & +exec_always --no-startup-id ~/.config/i3/polybar.sh # start picom for window composition -exec --no-startup-id picom -C -f --no-fading-openclose --config /dev/null -b - +exec_always --no-startup-id ~/.config/i3/picom.sh # set wallpaper -exec_always --no-startup-id nitrogen --head=0 --save --set-scaled ~/Pictures/Wallpapers/retro.jpg & - -# startup gnome -# exec --no-startup-id /usr/lib/gnome-settings-daemon/gsd-xsettings -# exec --no-startup-id gnome-power-manager -# exec --no-startup-id gnome-flashback +exec_always --no-startup-id nitrogen --head=0 --save --set-scaled ~/Pictures/Wallpapers/retro.jpg +# start spotify-slack-status +exec_always --no-startup-id spotify-slack-status -token $SLACK_TOKEN # start dunst for custom notification popups # exec --no-startup-id dunst -config ~/.config/dunst/dunstrc & -# save power -# exec_always --no-startup-id powertop --auto-tune -# connect to pritunl -#exec --no-startup-id pritunl-client enable 65adf618f9dc44b9818b558d1b84bdba && pritunl-client start 65adf618f9dc44b9818b558d1b84bdba - - ############################# # BINDINGS ############################## # screen shot (area) -# bindsym --release $mod+x exec --no-startup-id import /tmp/latest-screenshot.png +bindsym Mod1+x exec --no-startup-id gnome-screenshot -a -c -f /tmp/latest-screenshot.png # Pulse Audio controls -bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 1 +5% #increase sound volume -bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 1 -5% #decrease sound volume -bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 1 toggle # mute sound +# set default audio sink to laptop speakers +exec --no-startup-id pactl set-default-sink 'alsa_output.pci-0000_00_1f.3.analog-stereo' +# set default to jabra +#pactl set-default-sink 'alsa_output.usb-0b0e_Jabra_SPEAK_510_USB_501AA56C0DBB020A00-00.analog-stereo' +bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 'alsa_output.pci-0000_00_1f.3.analog-stereo' +5% && pactl set-sink-volume 'alsa_output.usb-0b0e_Jabra_SPEAK_510_USB_501AA56C0DBB020A00-00.analog-stereo' +5% #increase sound volume +bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 'alsa_output.pci-0000_00_1f.3.analog-stereo' -5% && pactl set-sink-volume 'alsa_output.usb-0b0e_Jabra_SPEAK_510_USB_501AA56C0DBB020A00-00.analog-stereo' -5% #increase sound volume#decrease sound volume +bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 'alsa_output.pci-0000_00_1f.3.analog-stereo' toggle && pactl set-sink-mute 'alsa_output.usb-0b0e_Jabra_SPEAK_510_USB_501AA56C0DBB020A00-00.analog-stereo' toggle # mute sound + +# resize window (you can also use the mouse for that) +mode "Audio Setup" { + # These bindings trigger as soon as you enter the resize mode + bindsym 1 exec pactl set-default-sink 'alsa_output.pci-0000_00_1f.3.analog-stereo' + bindsym 2 exec pactl set-default-sink 'alsa_output.usb-0b0e_Jabra_SPEAK_510_USB_501AA56C0DBB020A00-00.analog-stereo' + + + # back to normal: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} + +bindsym Mod1+Shift+a mode "Audio Setup" # Media player controls bindsym XF86AudioPlay exec playerctl play-pause @@ -60,34 +68,26 @@ bindsym XF86MonBrightnessUp exec light -A 10 # increase screen brightness bindsym XF86MonBrightnessDown exec light -U 10 # decrease screen brightness # lock the screen -bindsym Ctrl+Shift+l exec i3lock-fancy -f 'Pragmata Pro' -t 'Type Password To Unlock' +bindsym Mod1+Ctrl+Shift+l exec ~/.config/i3/lock.sh SUSPEND # start a terminal bindsym Mod1+Return exec terminator - -# insomnia -bindsym Mod1+Shift+i exec insomnia - # start firefox bindsym Mod1+Shift+Return exec firefox +bindsym Ctrl+Shift+Return exec /opt/google/chrome/chrome --type=renderer --disable-webrtc-apm-in-audio-service --lang=en-US --enable-auto-reload --num-raster-threads=4 --enable-main-frame-before-activation --shared-files +# insomnia +bindsym Mod1+Shift+i exec insomnia -# start chrome with correct DPI settings -# bindsym Mod1+Shift+Return exec google-chrome-stable --force-device-scale-factor=1.65 %U - -# Sets up 2 external displays side by side, with the laptop display on the far right -bindsym Mod1+Shift+f exec xrandr --output DVI-I-2-1 --auto --left-of DVI-I-3-2 && sleep 1 && xrandr --output DVI-I-3-2 --auto --left-of DP-0 && sleep 1 && xrandr --output DP-0 --auto --primary --preferred -bindsym Mod1+Shift+g exec xrandr --output DVI-I-2-2 --auto --left-of DVI-I-1-1 && sleep 1 && xrandr --output DVI-I-1-1 --auto --left-of DP-0 && sleep 1 && xrandr --output DP-0 --auto --primary --preferred +# Sets up external display +bindsym Mod1+Shift+g exec ~/.config/i3/setup_external_displays.sh CONNECT && ~/.config/i3/polybar.sh +bindsym Mod1+Shift+f exec ~/.config/i3/setup_external_displays.sh DISCONNECT && ~/.config/i3/polybar.sh +bindsym Mod1+Shift+Ctrl+g exec ~/.config/i3/setup_external_displays.sh RECONNECT_PRIMARY && ~/.config/i3/polybar.sh -# disconnects the 2 external monitors -bindsym Mod1+Shift+Ctrl+g exec xrandr --output DVI-I-3-2 --off && xrandr --output DVI-I-2-1 --off bindsym Mod1+Shift+x move workspace to output right -# turn off laptop monitor -# bindsym Mod1+Shift+~ exec xrandr --output DP-0 --off - # 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 Mod1+d exec --no-startup-id i3-dmenu-desktop +bindsym Mod1+d exec --no-startup-id i3-dmenu-desktop # reload the configuration file bindsym Mod1+Shift+c reload @@ -221,3 +221,7 @@ bindsym Mod1+r mode "resize" #status_command i3status #} + +# shrink window borders +for_window [class="^.*"] border pixel 1 +new_window 1pixel diff --git a/src/.config/i3/picom.sh b/src/.config/i3/picom.sh new file mode 100755 index 0000000..937bdbb --- /dev/null +++ b/src/.config/i3/picom.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +killall -q picom +while pgrep -x picom >/dev/null; do sleep 1; done +picom -C -f --no-fading-openclose --config /dev/null -b diff --git a/src/.config/i3/polybar.sh b/src/.config/i3/polybar.sh index ceab9c5..d3c55d9 100755 --- a/src/.config/i3/polybar.sh +++ b/src/.config/i3/polybar.sh @@ -1,7 +1,11 @@ #!/bin/bash killall -q polybar -while pgrep -x polybar >/dev/null; do sleep 1; done +while pgrep -x polybar >/dev/null; do sleep 0.1; done -# MONITOR=DP-0 polybar 4k-bottom & -MONITOR=eDP-1 polybar 1080p-bottom & -MONITOR=eDP-1 polybar 1080p-top & +PRIMARY=$(xrandr | grep primary | awk '{ print $1 }') +MONITOR=${PRIMARY} polybar 1080p-bottom & +MONITOR=${PRIMARY} polybar 1080p-top & + +SECONDARY=$(xrandr | grep "DVI.*connected" | awk '{ print $1 }') +MONITOR=${SECONDARY} polybar 4k-bottom & +MONITOR=${SECONDARY} polybar 4k-top & diff --git a/src/.config/i3/setup_external_displays.sh b/src/.config/i3/setup_external_displays.sh new file mode 100755 index 0000000..28066e2 --- /dev/null +++ b/src/.config/i3/setup_external_displays.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +PRIMARY=$(xrandr | grep primary | awk '{ print $1 }') +SECONDARY=$(xrandr | grep "DVI.*disconnected" | awk '{ print $1 }') +BACKGROUND=${BG:~/Pictures/Wallpapers/retro.jpg} + +if [ "$1" = "CONNECT" ]; then + xrandr --output ${SECONDARY} --auto --above ${PRIMARY} --dpi 165 --filter bilinear; + nitrogen --head=1 --save --set-scaled ${BACKGROUND}; +elif [ "$1" = "DISCONNECT" ]; then + xrandr --output ${SECONDARY} --off; +elif [ "$1" = "RECONNECT_PRIMARY" ]; then + xrandr --output ${PRIMARY} --off; +else + exit -1; +fi + +sleep 1; +xrandr --output ${PRIMARY} --auto --primary --preferred --filter bilinear; +nitrogen --head=0 --save --set-scaled ${BACKGROUND}; + diff --git a/src/.config/nitrogen/bg-saved.cfg b/src/.config/nitrogen/bg-saved.cfg index a58583e..59bda16 100644 --- a/src/.config/nitrogen/bg-saved.cfg +++ b/src/.config/nitrogen/bg-saved.cfg @@ -1,19 +1,24 @@ -[xin_0] +[:1.2] file=/home/adam/Pictures/Wallpapers/retro.jpg mode=0 bgcolor=#000000 -[xin_1] -file=~/.config/nitrogen/painted_plains_3840x2160.jpg -mode=2 +[xin_0] +file=/home/adam/Pictures/Wallpapers/retro.jpg +mode=0 bgcolor=#000000 [xin_2] -file=~/.config/nitrogen/painted_plains_3840x2160.jpg -mode=2 +file=/home/adam/Pictures/Wallpapers/retro.jpg +mode=0 bgcolor=#000000 -[:1.2] -file=~/.config/nitrogen/painted_plains_3840x2160.jpg -mode=2 +[xin_1] +file=/home/adam/Pictures/Wallpapers/retro.jpg +mode=0 +bgcolor=#000000 + +[:1.1] +file=/home/adam/Pictures/Wallpapers/retro.jpg +mode=0 bgcolor=#000000 diff --git a/src/.config/polybar/config b/src/.config/polybar/config index 795bd48..d9912b7 100644 --- a/src/.config/polybar/config +++ b/src/.config/polybar/config @@ -107,14 +107,11 @@ dpi-x = 100 [bar/4k-bottom] ;remove padding around bar -;override-redirect = true +;override-redirect = true monitor = ${env:MONITOR:DP-0} width = 100% -; 4k height = 50 -;offset-x = 1% -;offset-y = 0% - 10 radius = 0 fixed-center = false @@ -124,7 +121,7 @@ foreground = ${colors.foreground} line-size = 3 line-color = #f00 -border-size = 5 +border-size = 0 border-color = #00000000 padding-left = 3 @@ -133,26 +130,65 @@ padding-right = 3 module-margin-left = 1 module-margin-right = 1 -font-0 = "Ubuntu Mono derivative Powerline:style=Regular:pixelsize=16:1" -font-1 = "Symbola:size=18:antialias=true" -font-2 = "PragmataPro Liga:style=Regular:pixelsize=12:1" +font-0 = "Ubuntu Mono derivative Powerline:style=Regular:pixelsize=14:1" +font-1 = "Symbola:size=16:antialias=true" +font-2 = "PragmataPro Liga:style=Regular:pixelsize=14:1" -modules-left = i3 xwindow -modules-center = spotify mpd -modules-right = volume polypomo filesystem temperature cpu memory wlan eth battery date powermenu +modules-left = spotify +modules-center = +modules-right = volume backlight filesystem temperature cpu memory keyboard bottom = true -tray-position = right -tray-padding = 4 -tray-transparent = false -tray-maxsize = 32 -;tray-background = #0063ff cursor-click = pointer cursor-scroll = ns-resize dpi-y = 125 dpi-x = 125 +[bar/4k-top] +monitor = ${env:MONITOR:DP-0} +width = 100% +height = 50 + +radius = 0 +fixed-center = false + +background = ${colors.background} +foreground = ${colors.foreground} + +line-size = 3 +line-color = #f00 + +border-size = 0 +border-color = #00000000 + +padding-left = 3 +padding-right = 3 + +module-margin-left = 1 +module-margin-right = 1 + +font-0 = "Ubuntu Mono derivative Powerline:style=Regular:pixelsize=14:1" +font-1 = "Symbola:size=16:antialias=true" +font-2 = "PragmataPro Liga:style=Regular:pixelsize=14:1" + +modules-left = powermenu i3 xwindow +modules-center = +modules-right = polypomo wlan eth battery date + +bottom = false +tray-position = right +tray-padding = 4 +tray-transparent = true +tray-maxsize = 16 + +cursor-click = pointer +cursor-scroll = ns-resize +dpi-y = 130 +dpi-x = 130 + + + [module/xwindow] type = internal/xwindow label = %title:0:60:...% @@ -210,7 +246,7 @@ index-sort = true wrapping-scroll = false ; Only show workspaces on the same output as the bar -;pin-workspaces = false +pin-workspaces = true label-mode-padding = 2 label-mode-foreground = #000 @@ -400,7 +436,7 @@ format-discharging-underline = ${colors.warning} format-full-prefix = "|▇|" format-full-prefix-foreground = ${colors.foreground-alt} format-full-underline = ${colors.success} -label-full = Battery Full +label-full = " Battery Full" ramp-capacity-0 = |_| ramp-capacity-1 = |▁| @@ -463,7 +499,7 @@ menu-0-0 = lock menu-0-0-exec = i3lock-fancy menu-0-1 = suspend -menu-0-1-exec = suspend +menu-0-1-exec = systemctl suspend menu-0-2 = reboot menu-0-2-exec = menu-open-1 diff --git a/src/.config/vim/.vimrc b/src/.config/vim/.vimrc index 9ee24ea..1c19b47 100644 --- a/src/.config/vim/.vimrc +++ b/src/.config/vim/.vimrc @@ -34,7 +34,7 @@ set noswapfile set backupcopy=yes set autoread set selection=exclusive -set ttimeoutlen=50 +set ttimeoutlen=60 set termguicolors " Use the OS clipboard by default (on versions compiled with `+clipboard`) set clipboard=unnamedplus @@ -362,7 +362,7 @@ if has("autocmd") autocmd BufRead,BufNewFile *.php setfiletype php syntax=go autocmd BufRead,BufNewFile Dockerfile* setfiletype Dockerfile syntax=go " Spell check and line wrap just for git commit messages - autocmd Filetype gitcommit setlocal spell textwidth=72 + autocmd Filetype gitcommit setlocal spell textwidth=80 endif diff --git a/src/.config/vim/plugins.txt b/src/.config/vim/plugins.txt index f4bd765..330769d 100644 --- a/src/.config/vim/plugins.txt +++ b/src/.config/vim/plugins.txt @@ -2,6 +2,7 @@ git://github.com/tpope/vim-pathogen.git git://github.com/tpope/vim-fugitive.git git://github.com/tpope/vim-dispatch.git #git://github.com/Valloric/YouCompleteMe.git +git://github.com/Shougo/deoplete.nvim.git git://github.com/nathanaelkane/vim-indent-guides.git git://github.com/airblade/vim-gitgutter.git git://github.com/fholgado/minibufexpl.vim.git diff --git a/src/.gitconfig b/src/.gitconfig index 72f2e9c..6011ef3 100644 --- a/src/.gitconfig +++ b/src/.gitconfig @@ -1,7 +1,7 @@ [alias] # View abbreviated SHA, description, and history graph of the latest 20 commits - lo = log --oneline -n 40 --graph - l = log --oneline -n 40 --graph --show-signature + lo = log --oneline -n 40 --graph --show-signature + l = log --pretty=format:'%Cblue%h -%d %Cgreen%an %Creset%s - %Cred%GS' --abbrev-commit --date=relative --branches # View the current working tree status using the short format s = status -s @@ -59,7 +59,7 @@ # Remove branches that have already been merged with master dm = "!git branch --merged | grep -v '\\*' | xargs -n 1 git branch -d" - plog = log --graph --pretty=format:'%h -%d %s %n' --abbrev-commit --date=relative --branches + plog = log --graph --pretty=format:'%Cblue%h -%d %Cgreen%an %Creset%s - %Cred%GF %GS %n' --abbrev-commit --date=relative --branches [diff] # Git diff will use (i)ndex, (w)ork tree, (c)ommit and (o)bject diff --git a/src/.gitmessage b/src/.gitmessage index b429579..47db7be 100644 --- a/src/.gitmessage +++ b/src/.gitmessage @@ -2,14 +2,12 @@ # ^ [issue #id] [Add/Fix/Remove/Update/Refactor/Document] [summary] ^ # Why is it necessary? (Bug fix, feature, improvements?) - # How does the change address the issue? - # What side effects does this change have? # Rationale: -# Capitalized, short (50 chars or less) summary -# More detailed explanatory text, if necessary. Wrap it to about 72 +# Capitalized, short (80 chars or less) summary +# More detailed explanatory text, if necessary. Wrap it to about 80 # characters or so. In some contexts, the first line is treated as the # subject of an email and the rest of the text as the body. The blank # line separating the summary from the body is critical (unless you omit