diff --git a/.chezmoiignore b/.chezmoiignore index 7d33349..fe01b30 100644 --- a/.chezmoiignore +++ b/.chezmoiignore @@ -8,10 +8,10 @@ README.md .config/zathura/ scripts/ txt/ -.bashrc .gitconfig .imwheelrc .xinitrc .Xresources .zshrc {{ end }} +.bashrc diff --git a/dot_Xmodmap b/dot_Xmodmap deleted file mode 100644 index 2efaa1c..0000000 --- a/dot_Xmodmap +++ /dev/null @@ -1,4 +0,0 @@ -clear Lock - -keycode 22 = Caps_Lock -keycode 66 = BackSpace diff --git a/dot_Xmodmap.tmpl b/dot_Xmodmap.tmpl new file mode 100644 index 0000000..ae7dfca --- /dev/null +++ b/dot_Xmodmap.tmpl @@ -0,0 +1,12 @@ +clear Lock + +{{ if and (eq .chezmoi.fullHostname "x1-carbon") (not .ext_kb) }} +keycode 115 = BackSpace +keycode 110 = Delete + +keycode 22 = Home +keycode 119 = End +{{ else }} +keycode 22 = Caps_Lock +keycode 66 = BackSpace +{{ end }} diff --git a/dot_Xresources b/dot_Xresources deleted file mode 100644 index 45f542b..0000000 --- a/dot_Xresources +++ /dev/null @@ -1,41 +0,0 @@ -URxvt.font: xft:DejaVuSansMono Nerd Font Mono:size=14 -! URxvt.font: xft:DejaVuSansMono Nerd Font Mono:size=9 - -! URxvt.font: xft:Hack Nerd Font:size=14 -! URxvt.font: xft:Hack NF:size=18 -! URxvt.font: xft:Hack:size=18 - -/* transparency {{{ */ - -URxvt*inheritPixmap: true -! -! URxvt*transparent: false -URxvt*transparent: true -! -! URxvt*shading: 0 (blackest) to 99 black, 101 to 200 (whitest) white -URxvt*shading: 40 -! URxvt*shading: 35 - -/* }}} transparency */ - -URxvt.scrollBar: false -! URxvt.scrollBar: true -! URxvt*scrollBar_right: true - -! Clickable URLs {{{ */ -URxvt.perl-ext-common: default,matcher -URxvt.url-launcher: /usr/bin/xdg-open -URxvt.matcher.button: 1 -! }}} Clickable URLs */ - -/* HiDPI {{{ */ - -Xft.dpi: 101 -Xft.autohint: 0 -Xft.lcdfilter: lcddefault -Xft.hintstyle: hintfull -Xft.hinting: 1 -Xft.antialias: 1 -Xft.rgba: rgb - -/* }}} HiDPI */ diff --git a/dot_Xresources.tmpl b/dot_Xresources.tmpl new file mode 100644 index 0000000..8de33d5 --- /dev/null +++ b/dot_Xresources.tmpl @@ -0,0 +1,36 @@ +{{ if eq .chezmoi.fullHostname "x1-carbon" }} +URxvt.font: xft:DejaVuSansMono Nerd Font Mono:size=11 +{{ else }} +URxvt.font: xft:DejaVuSansMono Nerd Font Mono:size=14 +{{ end }} +! URxvt.font: xft:Hack:size=18 + +URxvt*transparent: true +/* transparency */ + URxvt*inheritPixmap: true + ! URxvt*transparent: false + ! URxvt*shading: 0 (blackest) to 99 black, 101 to 200 (whitest) white + URxvt*shading: 40 + ! URxvt*shading: 35 + +URxvt.scrollBar: false +! URxvt.scrollBar: true +! URxvt*scrollBar_right: true + +! Clickable URLs +URxvt.perl-ext-common: default,matcher +URxvt.url-launcher: /usr/bin/xdg-open +URxvt.matcher.button: 1 + +Xft.rgba: rgb +/* HiDPI */ + {{ if eq .chezmoi.fullHostname "x1-carbon" }} + Xft.dpi: 210 + {{ else }} + Xft.dpi: 101 + {{ end }} + Xft.autohint: 0 + Xft.lcdfilter: lcddefault + Xft.hintstyle: hintfull + Xft.hinting: 1 + Xft.antialias: 1 diff --git a/dot_config/chezmoi/chezmoi.toml.tmpl b/dot_config/chezmoi/chezmoi.toml.tmpl index b5f897b..4576dc0 100644 --- a/dot_config/chezmoi/chezmoi.toml.tmpl +++ b/dot_config/chezmoi/chezmoi.toml.tmpl @@ -2,3 +2,4 @@ sourceDir = "{{ .chezmoi.homedir }}/{{ .chezmoi.os }}-config" [data] gui = true + ext_kb = true diff --git a/dot_config/i3/config b/dot_config/i3/config deleted file mode 100644 index 3d88fa8..0000000 --- a/dot_config/i3/config +++ /dev/null @@ -1,521 +0,0 @@ -# startup {{{ # -# vim: fdm=marker -set $browser "firefox" -# set $browser "chromium" -set $def_term "urxvt" -set $scripts_path "/home/kevin/scripts" -exec redshift -O 2000 -# exec redshift -O 3000 -# random bg -exec compton -exec wal -i $($scripts_path/shuffler "$HOME/Pictures/Backgrounds/dim/non-editing") -exec imwheel -exec xmodmap ~/.Xmodmap -exec xset r rate $XSET_DELAY $XSET_RATE -exec xrdb ~/.Xresources -exec --no-startup-id dunst -exec --no-startup-id start-pulseaudio-x11 -exec --no-startup-id i3-msg 'workspace $ws2; exec $def_term' -exec --no-startup-id i3-msg 'workspace $ws3; exec $browser' -# exec --no-startup-id i3-msg 'workspace $ws11; exec $swex' -exec_always --no-startup-id numlockx on -# }}} startup # - -# applications {{{ # - -set $mod Mod1 -set $sch_dir "$HOME/Documents/School" - -# app shortcuts {{{ # - -# bindsym $mod+control+Return exec i3-sensible-terminal -# bindsym $mod+control+Return exec $def_term -bindsym control+Return exec $def_term -# bindsym Mod4+1 exec xdotool click --repeat 5 --delay 100 1 -# bindsym Mod4+2 exec xdotool click --repeat 10 --delay 100 1 -# bindsym Mod4+3 exec xdotool click --repeat 20 --delay 100 1 -bindsym Mod4+a exec studio -bindsym Mod4+b layout tabbed; exec zathura -bindsym Mod4+c exec $browser -# bindsym Mod4+e exec notify-send "HPS Word Count" "$(pdftotext /home/kevin/school/latex-notes/hps/essay.pdf - | wc -w)" -bindsym Mod4+f exec firefox -bindsym Mod4+$mod+f exec echo 'Kevin@fosstodon.org' | xclip -selection clipboard -bindsym Mod4+h exec echo 'kevin.mok@live.ca' | xclip -selection clipboard -bindsym Mod4+$mod+m exec pass -c uoft/markus -bindsym Mod4+n exec urxvt -e nvim -bindsym Mod4+o exec xclip -selection clipboard ~/.password-store/social/gmail -bindsym Mod4+$mod+o exec xset dpms force off -# bindsym Mod4+p workspace $ws4; exec pgadmin3 -# bindsym Mod4+p exec pycharm -bindsym Mod4+p exec passmenu -# bindsym Mod4+$mod+p exec notify-send "ping" "$(ping -c 3 -W 1 8.8.8.8)" -bindsym Mod4+q exec qdirstat -bindsym Mod4+r exec urxvt -e ranger -bindsym Mod4+$mod+r exec notify-send "watson restart" "$(watson restart)" -bindsym control+$mod+s exec systemctl suspend -# bindsym Mod4+t exec st -bindsym Mod4+$mod+t exec xclip -selection clipboard ~/.password-store/social/trapbot -bindsym Mod4+u exec echo 'kevin.mok@mail.utoronto.ca' | xclip -selection clipboard -bindsym Mod4+$mod+u exec pass -c uoft/acorn -bindsym Mod4+w exec notify-send "watson status" "$(watson status)" -bindsym Mod4+$mod+w exec notify-send "watson stop" "$(watson status && watson stop)" -bindsym control+$mod+w exec urxvt -e nvim /home/kevin/.config/watson/state.tmp -# bindsym Mod4+x exec $swex -bindsym Mod4+x exec xmodmap ~/.Xmodmap && xset r rate $XSET_DELAY $XSET_RATE -bindsym Mod4+z exec cliqz -# bindsym Print exec gscreenshot -bindsym Print --release exec "scrot -s /tmp/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'" -bindsym control+Print --release exec "scrot -u /tmp/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'" -# }}} app shortcuts # - -# redshift {{{ # - -bindsym $mod+Mod4+1 exec redshift -x && redshift -O 1100 -bindsym $mod+Mod4+2 exec redshift -x && redshift -O 2000 -bindsym $mod+Mod4+3 exec redshift -x && redshift -O 3000 -bindsym $mod+Mod4+4 exec redshift -x && redshift -O 4000 -bindsym $mod+Mod4+5 exec redshift -x && redshift -O 5000 -bindsym $mod+Mod4+grave exec redshift -x - -# old -# bindsym $mod+Mod4+1 exec redshift -x && redshift -O 1000 -# bindsym $mod+Mod4+3 exec redshift -x && redshift -O 1500 -# bindsym $mod+Mod4+3 exec redshift -x && redshift -O 2500 - -# }}} redshift # - -# backlight {{{ # - -bindsym Shift+F1 exec xbacklight -set 10 -bindsym Shift+F2 exec xbacklight -set 20 -bindsym Shift+F3 exec xbacklight -set 30 -bindsym Shift+F4 exec xbacklight -set 40 -bindsym Shift+F5 exec xbacklight -set 50 -bindsym Shift+F6 exec xbacklight -set 60 -bindsym Shift+F7 exec xbacklight -set 70 -bindsym Shift+F8 exec xbacklight -set 80 -bindsym Shift+F9 exec xbacklight -set 90 -bindsym Shift+F0 exec xbacklight -set 100 - -# }}} backlight # - -# menu {{{ # -# start dmenu (a program launcher) -# bindsym Mod4+Return exec dmenu_run -# 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 -# }}} menu # -# Use Mouse+$mod to drag floating windows to their wanted position -floating_modifier $mod - -for_window [class="Peek"] floating enable - -# }}} applications # - -# changing/focusing/moving windows {{{ # -# change focus -bindsym control+h focus left -bindsym control+j focus down -bindsym control+k focus up -bindsym control+l focus right - -# move workspace to other monitor -bindsym $mod+minus move workspace to output left -bindsym $mod+plus move workspace to output 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 control+Shift+h move left -bindsym control+Shift+j move down -bindsym control+Shift+k move up -bindsym control+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+b split h -bindsym Mod4+$mod+b split h; exec $def_term - -# split in vertical orientation -bindsym $mod+v split v -bindsym Mod4+$mod+v split v; exec $def_term - -# bindsym control+Shift+x kill -bindsym shift+x kill -# }}} changing/focusing/moving windows # - -# container display {{{ # -# backgrounds -# set $colors_sh "~/.cache/wal/colors.sh" -bindsym $mod+q exec wal -i $($scripts_path/shuffler "$HOME/Pictures/Backgrounds/bright/editing") -bindsym $mod+w exec wal -i $($scripts_path/shuffler "$HOME/Pictures/Backgrounds/dim/non-editing") -# bindsym $mod+w exec ~/linux-config/scripts/bg-chooser -bindsym $mod+r exec wal -i $($scripts_path/shuffler "$HOME/Pictures/Backgrounds/dim/editing") -bindsym $mod+y exec wal -i $($scripts_path/shuffler "$HOME/Pictures/Backgrounds/bright/non-editing") - -# 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+t 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 - -# change container colors from pywal {{{ # - -# Set colors from Xresources -# Change 'color7' and 'color2' to whatever colors you want i3 to use -# from the generated scheme. -# NOTE: The '#f0f0f0' in the lines below is the color i3 will use if -# it fails to get colors from Xresources. -set_from_resource $fg i3wm.color7 #f0f0f0 -set_from_resource $bg i3wm.color2 #f0f0f0 - -# class border backgr. text indicator child_border -client.focused $bg $bg $fg $bg $bg -# client.unfocused $fg $bg $fg $bg $fg -# client.urgent $bg $bg $fg $bg $bg -# client.placeholder $bg $bg $fg $bg $bg -# client.background $bg - -# PROTIP: You can also dynamically set dmenu's colors this way: -bindsym Mod4+Return exec dmenu_run -nb "$fg" -nf "$bg" -sb "$bg" -sf "$fg" - -# }}} change container colors from pywal # - -# }}} container display # - -# workspace {{{ # -# ws names {{{ # -set $samsung "DVI-I-1" -set $benq "HDMI-0" - -set $ws1 "1 " -workspace $ws1 output $benq -bindsym $mod+F1 workspace $ws1; exec $def_term - -set $ws2 "2 " -workspace $ws2 output $samsung -bindsym $mod+F2 workspace $ws2; exec $def_term - -set $ws3 "3 " -# set $ws3 "3 " -workspace $ws3 output $benq -bindsym $mod+F3 workspace $ws3; exec $browser - -set $ws4 "4 " -workspace $ws4 output $samsung -bindsym $mod+F4 workspace $ws4; exec $def_term - -set $ws5 "5 " -# set $ws5 "5 🎥" -workspace $ws5 output $samsung -assign [class="Steam"] $ws5 -bindsym $mod+F5 workspace $ws5; exec $browser -bindsym Mod4+g workspace $ws5; layout stacking; exec urxvt -e steam -bindsym Mod4+t workspace $ws5; exec thunderbird -bindsym Mod4+5 workspace $ws5; exec cd ~/coding/ada-mario-prep && godot -e -for_window [class="ada-mario-prep"] floating enable -for_window [class="Move_mouse_with_head"] floating enable - -set $ws6 "6 " -workspace $ws6 output $samsung -assign [class="Slack"] $ws6 -bindsym Mod4+d workspace $ws6; exec discord -bindsym Mod4+i workspace $ws6; exec firefox -new-window https://riot.im/app/#/home -bindsym Mod4+k workspace $ws6; exec slack - -set $ws7 "7 " -# set $ws7 "7 📤" -workspace $ws7 output $samsung -bindsym $mod+F7 workspace $ws7; exec $def_term -# bindsym Mod4+v workspace $ws7; exec VBoxManage startvm "369-a1" - -set $ws8 "8 " -# set $ws8 "8 📊" -# assign [class="jetbrains-"] $ws8 -workspace $ws8 output $samsung -bindsym $mod+F8 workspace $ws8; exec $def_term - -set $ws9 "9 " -# set $ws9 "9 🔧" -workspace $ws9 output $samsung -bindsym $mod+F9 workspace $ws9; exec $def_term - -set $ws10 "10 " -# set $ws10 "10 🎵" -assign [class="spotify"] $ws10 -workspace $ws10 output $samsung -set $hp 2 -# bindsym Mod4+v workspace $ws10; exec urxvt -e alsamixer -c 0 -bindsym Mod4+v workspace $ws10; exec urxvt -e cava -# bindsym Mod4+h workspace $ws10; exec urxvt -e alsamixer -c $hp -bindsym Mod4+s workspace $ws10; exec spotify - -set $ws11 "11 " -# set $ws11 "11 📊" -# assign [class="Summoners War Exporter"] $ws11 -workspace $ws11 output $samsung -bindsym $mod+F11 workspace $ws11; exec urxvt -e htop -s PERCENT_CPU - -set $ws12 "12 " -bindsym $mod+F12 workspace $ws12; exec $def_term - -set $ws13 "13 " -bindsym Mod4+F3 workspace $ws13; exec $def_term - -set $ws14 "14" -set $ws15 "15" - -# }}} ws names # - -# ws bindings {{{ # -# switch to workspace -bindsym $mod+h workspace prev -bindsym $mod+l workspace next - -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 Mod4+1 workspace $ws11 -# bindsym Mod4+2 workspace $ws12 -# bindsym Mod4+3 workspace $ws13 -# bindsym Mod4+4 workspace $ws14 -# bindsym Mod4+5 workspace $ws15 -# }}} ws bindings # - -# move container to ws {{{ # -# move focused container to workspace -# bindsym $mod+control+1 move container to workspace $ws1 -bindsym $mod+control+1 move container to workspace $ws1; workspace $ws1 -bindsym $mod+control+2 move container to workspace $ws2; workspace $ws2 -bindsym $mod+control+3 move container to workspace $ws3; workspace $ws3 -bindsym $mod+control+4 move container to workspace $ws4; workspace $ws4 -bindsym $mod+control+5 move container to workspace $ws5; workspace $ws5 -bindsym $mod+control+6 move container to workspace $ws6; workspace $ws6 -bindsym $mod+control+7 move container to workspace $ws7; workspace $ws7 -bindsym $mod+control+8 move container to workspace $ws8; workspace $ws8 -bindsym $mod+control+9 move container to workspace $ws9; workspace $ws9 -bindsym $mod+control+0 move container to workspace $ws10; workspace $ws10 -bindsym $mod+Shift+1 move container to workspace $ws11; workspace $ws11 -bindsym $mod+Shift+2 move container to workspace $ws12; workspace $ws12 -bindsym $mod+Shift+3 move container to workspace $ws13; workspace $ws13 -bindsym $mod+Shift+4 move container to workspace $ws14; workspace $ws14 -bindsym $mod+Shift+5 move container to workspace $ws15; workspace $ws15 -# }}} move container to ws # -# }}} workspace # - -# reload config/computer {{{ # - -# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) -# bindsym $mod+control+r exec ~/.cache/wal/colors.sh; restart -bindsym $mod+control+r exec i3-msg restart -# bindsym $mod+control+r exec $colors_sh && i3-msg restart - -# reload the configuration file -bindsym $mod+Shift+c reload -# bindsym $mod+control+r reload -bindsym $mod+control+u exec xrdb ~/.Xresources - -# 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'" - -# }}} reload config # - -# resizing windows {{{ # -bindsym $mod+control+h resize grow width 5 px or 5 ppt -bindsym $mod+control+k resize grow height 5 px or 5 ppt -bindsym $mod+control+j resize shrink height 5 px or 5 ppt -bindsym $mod+control+l resize shrink width 5 px or 5 ppt -# }}} resizing windows # - -# gaps {{{ # - -# remove window titlebars -for_window [class="^.*"] border pixel 3 -# for_window [class="^.*"] border pixel 1 -set $inner_gaps 40 -set $outer_gaps 0 - -# gaps inner $inner_gaps -# gaps outer $outer_gaps -# gaps bottom 0 -gaps inner 0 -gaps outer 0 - -# other gaps {{{ # - -# gaps horizontal 20 -# gaps vertical 10 -# gaps top -# gaps left 20 -# gaps right 20 -# gaps bottom - -# }}} other gaps # - -bindsym control+shift+plus gaps inner all set $inner_gaps;gaps outer all set $outer_gaps -bindsym control+shift+0 gaps inner all set 0;gaps outer all set 0 - -# }}} gaps # - -# status bar {{{ # -# Start i3bar to display a workspace bar (plus the system information i3status -# finds out, if available) -set $sb_font DejaVuSansMono Nerd Font Mono Bold -# set $sb_font Hack NF Bold -# set $sb_font EmojiOne -set $black #000000 -set $white #ffffff -for_window [class="Yad"] floating enable - -# inactive vars {{{ # - -# set $inactive_ws_bg $white -set $inactive_ws_bg #444c52 - -# set $inactive_ws_trans 96 -set $inactive_ws_trans 00 - -# }}} inactive # - -# set $active_ws_trans 91 -set $active_ws_trans 4b - -set $focused_ws_text #ffffff - -# benq bar {{{ # - -# set $bar_trans 64 -set $bar_trans 00 -set $benq_ws_trans aa -bar { - i3bar_command i3bar -t - font pango:$sb_font 21 - # font pango:$sb_font 14 - colors { - # 0 (transparent) -> 255 (opaque) in hex - background $black$bar_trans - # border, bg, text color - # focused_workspace $inactive_ws_bg $bg $focused_ws_text - focused_workspace $inactive_ws_bg $bg $fg - # active = focused on other screen - active_workspace $inactive_ws_bg $fg$active_ws_trans $fg - inactive_workspace $inactive_ws_bg $inactive_ws_bg$inactive_ws_trans $fg - } - tray_output none - status_command i3blocks -c ~/.config/i3blocks/i3blocks.conf - # status_command 2>/tmp/i3blocks.err i3blocks -vvv -c ~/.config/i3blocks/i3blocks.conf | tee /tmp/i3blocks.out - output $benq - wheel_up_cmd nop - wheel_down_cmd nop -} - -# }}} benq bar # - -# sam bar {{{ # - -bar { - output $samsung - font pango:$sb_font 25 - # font pango:$sb_font 15 - # output $benq - i3bar_command i3bar -t - colors { - background $black$bar_trans - # border, bg, text color - # focused_workspace $inactive_ws_bg $bg $focused_ws_text - focused_workspace $inactive_ws_bg $bg $fg - active_workspace $inactive_ws_bg $fg$active_ws_trans $fg - inactive_workspace $inactive_ws_bg $inactive_ws_bg$inactive_ws_trans $fg - } - status_command i3blocks -c ~/.config/i3blocks/sam-i3blocks.conf - # status_command 2>/tmp/i3blocks-sam.err i3blocks -vvv -c ~/.config/i3blocks/sam-i3blocks.conf | tee /tmp/i3blocks-sam.out - tray_output none - wheel_up_cmd nop - wheel_down_cmd nop -} - -# }}} samsung bar # - -# # # display {{{ # - -# bar { - # i3bar_command i3bar -t - # font pango:$sb_font 23 - # tray_output none - # status_command i3blocks -c ~/.config/i3blocks/i3blocks-display.conf - # output $samsung - # wheel_up_cmd nop - # wheel_down_cmd nop -# } - -# # }}} display # - -# }}} status bar # - -# mod key/font {{{ # -set $mod Mod1 - -# Font for window titles. Will also be used by the bar unless a different font -# is used in the bar {} block below. -# font pango:Hack 11 -# font pango:$sb_font 8 -font pango:$sb_font 11 -# 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 - -# Before i3 v4.8, we used to recommend this one as the default: -# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 -# The font above is very space-efficient, that is, it looks good, sharp and -# clear in small sizes. However, its unicode glyph coverage is limited, the old -# X core fonts rendering does not support right-to-left and this being a bitmap -# font, it doesn’t scale on retina/hidpi displays. -# }}} mod key/font # - -# media keys {{{ # -bindsym control+d exec ~/linux-config/scripts/change-sink dac -# bindsym control+shift+d exec ~/linux-config/scripts/change-sink dac2 -bindsym control+o exec ~/linux-config/scripts/change-sink line-out - -bindsym XF86AudioRaiseVolume exec amixer -q -D pulse sset Master 5%+ && pkill -RTMIN+1 i3blocks -bindsym XF86AudioLowerVolume exec amixer -q -D pulse sset Master 5%- && pkill -RTMIN+1 i3blocks -bindsym XF86AudioMute exec amixer -q -D pulse sset Master toggle && pkill -RTMIN+1 i3blocks - -# Media player controls -bindsym XF86AudioPlay exec "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause" -bindsym XF86AudioStop exec "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Stop" -bindsym XF86AudioPrev exec "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous" -bindsym XF86AudioNext exec "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next" -# }}} media keys # diff --git a/dot_config/i3/config.tmpl b/dot_config/i3/config.tmpl new file mode 100644 index 0000000..e963253 --- /dev/null +++ b/dot_config/i3/config.tmpl @@ -0,0 +1,473 @@ +# vim: fdm=indent ft=i3.tmpl + +# startup # + set $browser "firefox" + # set $browser "chromium" + set $term "urxvt" + set $scripts_path "/home/kevin/scripts" + exec redshift -O 2000 + # exec redshift -O 3000 + # random bg + exec compton + exec wal -i $($scripts_path/shuffler "$HOME/Pictures/Backgrounds/dim/non-editing") + exec imwheel + exec xmodmap ~/.Xmodmap + exec xset r rate $XSET_DELAY $XSET_RATE + {{ if eq .chezmoi.fullHostname "x1-carbon" }} + exec xbacklight -set 10 + {{ end }} + exec xrdb ~/.Xresources + exec --no-startup-id dunst + exec --no-startup-id start-pulseaudio-x11 + exec --no-startup-id i3-msg 'workspace $ws2; exec $term' + exec --no-startup-id i3-msg 'workspace $ws3; exec $browser' + # exec --no-startup-id i3-msg 'workspace $ws11; exec $swex' + exec_always --no-startup-id numlockx on + +bindsym control+Return exec $term +# applications # + set $mod Mod1 + set $sch_dir "$HOME/Documents/School" + + # app shortcuts # + # PROTIP: You can also dynamically set dmenu's colors this way: + bindsym Mod4+Return exec dmenu_run -nb "$fg" -nf "$bg" -sb "$bg" -sf "$fg" + # bindsym Mod4+Return exec dmenu_run + # 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 + bindsym Mod4+b layout tabbed; exec zathura + bindsym Mod4+c exec $browser + # bindsym Mod4+e exec notify-send "HPS Word Count" "$(pdftotext /home/kevin/school/latex-notes/hps/essay.pdf - | wc -w)" + bindsym Mod4+f exec firefox + bindsym Mod4+$mod+f exec echo 'Kevin@fosstodon.org' | xclip -selection clipboard + bindsym Mod4+h exec echo 'kevin.mok@live.ca' | xclip -selection clipboard + bindsym Mod4+$mod+m exec pass -c uoft/markus + bindsym Mod4+n exec urxvt -e nvim + bindsym Mod4+o exec xclip -selection clipboard ~/.password-store/social/gmail + bindsym Mod4+$mod+o exec xset dpms force off + # bindsym Mod4+p workspace $ws4; exec pgadmin3 + # bindsym Mod4+p exec pycharm + bindsym Mod4+p exec passmenu + # bindsym Mod4+$mod+p exec notify-send "ping" "$(ping -c 3 -W 1 8.8.8.8)" + bindsym Mod4+q exec qdirstat + bindsym Mod4+r exec urxvt -e ranger + bindsym Mod4+$mod+r exec notify-send "watson restart" "$(watson restart)" + bindsym control+$mod+s exec systemctl suspend + # bindsym Mod4+t exec st + bindsym Mod4+$mod+t exec xclip -selection clipboard ~/.password-store/social/trapbot + bindsym Mod4+u exec echo 'kevin.mok@mail.utoronto.ca' | xclip -selection clipboard + bindsym Mod4+$mod+u exec pass -c uoft/acorn + bindsym Mod4+w exec notify-send "watson status" "$(watson status)" + bindsym Mod4+$mod+w exec notify-send "watson stop" "$(watson status && watson stop)" + {{ if eq .chezmoi.fullHostname "nzxt" }} + bindsym control+$mod+w exec urxvt -e nvim /home/kevin/.config/watson/state.tmp + {{ end }} + # bindsym Mod4+x exec $swex + bindsym Mod4+x exec xmodmap ~/.Xmodmap && xset r rate $XSET_DELAY $XSET_RATE + bindsym Mod4+z exec cliqz + {{ if eq .chezmoi.fullHostname "x1-carbon" }} + bindsym $mod+p --release exec "scrot -s /tmp/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'" + bindsym control+$mod+p --release exec "scrot -u /tmp/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'" + {{ else }} + bindsym Print --release exec "scrot -s /tmp/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'" + bindsym control+Print --release exec "scrot -u /tmp/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'" + {{ end }} + # app shortcuts # + + bindsym $mod+Mod4+1 exec redshift -x && redshift -O 1100 + # redshift # + bindsym $mod+Mod4+2 exec redshift -x && redshift -O 2000 + bindsym $mod+Mod4+3 exec redshift -x && redshift -O 3000 + bindsym $mod+Mod4+4 exec redshift -x && redshift -O 4000 + bindsym $mod+Mod4+5 exec redshift -x && redshift -O 5000 + bindsym $mod+Mod4+grave exec redshift -x + # redshift # + + {{ if eq .chezmoi.fullHostname "x1-carbon" }} + bindsym Shift+F1 exec xbacklight -set 10 + bindsym Shift+F2 exec xbacklight -set 20 + bindsym Shift+F3 exec xbacklight -set 30 + bindsym Shift+F4 exec xbacklight -set 40 + bindsym Shift+F5 exec xbacklight -set 50 + bindsym Shift+F6 exec xbacklight -set 60 + bindsym Shift+F7 exec xbacklight -set 70 + bindsym Shift+F8 exec xbacklight -set 80 + bindsym Shift+F9 exec xbacklight -set 90 + bindsym Shift+F0 exec xbacklight -set 100 + + bindsym control+$mod+plus exec xbacklight -inc 2 + bindsym control+$mod+minus exec xbacklight -dec 2 + + bindsym $mod+w exec sudo systemctl start netctl-auto@wlp3s0.service + bindsym $mod+q exec sudo systemctl stop netctl-auto@wlp3s0.service + {{ end }} + + # Use Mouse+$mod to drag floating windows to their wanted position + floating_modifier $mod + for_window [class="Peek"] floating enable + +# changing/focusing/moving windows # +bindsym control+h focus left + # change focus + bindsym control+j focus down + bindsym control+k focus up + bindsym control+l focus right + + # move workspace to other monitor + bindsym $mod+minus move workspace to output left + bindsym $mod+plus move workspace to output 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 control+Shift+h move left + bindsym control+Shift+j move down + bindsym control+Shift+k move up + bindsym control+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+b split h + bindsym Mod4+$mod+b split h; exec $term + + # split in vertical orientation + bindsym $mod+v split v + bindsym Mod4+$mod+v split v; exec $term + + # bindsym control+Shift+x kill + bindsym shift+x kill +# changing/focusing/moving windows # + +# backgrounds +{{ if eq .chezmoi.fullHostname "x1-carbon" }} + bindsym control+$mod+q exec wal -i "$HOME/Pictures/Backgrounds/bright/editing"; exec ~/.cache/wal/colors.sh + bindsym control+$mod+w exec /home/kevin/linux-config/scripts/bg-chooser; exec ~/.cache/wal/colors.sh + bindsym $mod+r exec wal -i "$HOME/Pictures/Backgrounds/dim/editing"; exec ~/.cache/wal/colors.sh + # bindsym $mod+r exec wal -i "$HOME/Pictures/Backgrounds/"; exec ~/.cache/wal/colors.sh + bindsym control+$mod+z exec feh --bg-fill ~/Pictures/Backgrounds/dim/black.jpg + {{ else }} + bindsym $mod+q exec wal -i $($scripts_path/shuffler "$HOME/Pictures/Backgrounds/bright/editing") + bindsym $mod+w exec wal -i $($scripts_path/shuffler "$HOME/Pictures/Backgrounds/dim/non-editing") + # bindsym $mod+w exec ~/linux-config/scripts/bg-chooser + bindsym $mod+r exec wal -i $($scripts_path/shuffler "$HOME/Pictures/Backgrounds/dim/editing") + bindsym $mod+y exec wal -i $($scripts_path/shuffler "$HOME/Pictures/Backgrounds/bright/non-editing") +{{ end }} +# backgrounds + +# container display # +bindsym $mod+s layout stacking + # change container layout (stacked, tabbed, toggle split) + bindsym $mod+t layout tabbed + bindsym $mod+e layout toggle split + + # enter fullscreen mode for the focused container + bindsym $mod+f fullscreen toggle + + # 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 +# container display # + +# change container colors from pywal # +set_from_resource $fg i3wm.color7 #f0f0f0 + # Set colors from Xresources + # Change 'color7' and 'color2' to whatever colors you want i3 to use + # from the generated scheme. + # NOTE: The '#f0f0f0' in the lines below is the color i3 will use if + # it fails to get colors from Xresources. + set_from_resource $bg i3wm.color2 #f0f0f0 + + # class border backgr. text indicator child_border + client.focused $bg $bg $fg $bg $bg + # client.unfocused $fg $bg $fg $bg $fg + # client.urgent $bg $bg $fg $bg $bg + # client.placeholder $bg $bg $fg $bg $bg + # client.background $bg +# change container colors from pywal # + +# ws names # +set $ws1 "1 " + {{ if eq .chezmoi.fullHostname "x1-carbon" }} + set $secondary "HDMI2" + set $main "eDP1" + {{ else if eq .chezmoi.fullHostname "nzxt" }} + set $secondary "DVI-I-1" + set $main "HDMI-0" + {{ end }} + + workspace $ws1 output $main + bindsym $mod+F1 workspace $ws1; exec $term + + set $ws2 "2 " + workspace $ws2 output $secondary + bindsym $mod+F2 workspace $ws2; exec $term + + set $ws3 "3 " + # set $ws3 "3 " + workspace $ws3 output $main + bindsym $mod+F3 workspace $ws3; exec $browser + + set $ws4 "4 " + workspace $ws4 output $secondary + bindsym $mod+F4 workspace $ws4; exec $term + + set $ws5 "5 " + # set $ws5 "5 🎥" + workspace $ws5 output $secondary + assign [class="Steam"] $ws5 + bindsym $mod+F5 workspace $ws5; exec $browser + bindsym Mod4+g workspace $ws5; layout stacking; exec urxvt -e steam + bindsym Mod4+t workspace $ws5; exec thunderbird + bindsym Mod4+5 workspace $ws5; exec cd ~/coding/ada-mario-prep && godot -e + for_window [class="ada-mario-prep"] floating enable + for_window [class="Move_mouse_with_head"] floating enable + + set $ws6 "6 " + workspace $ws6 output $secondary + assign [class="Slack"] $ws6 + bindsym Mod4+d workspace $ws6; exec discord + # bindsym Mod4+i workspace $ws6; exec firefox -new-window https://riot.im/app/#/home + bindsym Mod4+k workspace $ws6; exec slack + + set $ws7 "7 " + # set $ws7 "7 📤" + workspace $ws7 output $secondary + bindsym $mod+F7 workspace $ws7; exec $term + # bindsym Mod4+v workspace $ws7; exec VBoxManage startvm "369-a1" + + set $ws8 "8 " + # set $ws8 "8 📊" + # assign [class="jetbrains-"] $ws8 + workspace $ws8 output $secondary + bindsym $mod+F8 workspace $ws8; exec $term + + set $ws9 "9 " + # set $ws9 "9 🔧" + workspace $ws9 output $secondary + bindsym $mod+F9 workspace $ws9; exec $term + + set $ws10 "10 " + # set $ws10 "10 🎵" + assign [class="spotify"] $ws10 + workspace $ws10 output $secondary + set $hp 2 + # bindsym Mod4+v workspace $ws10; exec urxvt -e alsamixer -c 0 + bindsym Mod4+v workspace $ws10; exec urxvt -e cava + # bindsym Mod4+h workspace $ws10; exec urxvt -e alsamixer -c $hp + bindsym Mod4+s workspace $ws10; exec spotify + + set $ws11 "11 " + # set $ws11 "11 📊" + # assign [class="Summoners War Exporter"] $ws11 + workspace $ws11 output $secondary + bindsym $mod+F11 workspace $ws11; exec urxvt -e htop -s PERCENT_CPU + + set $ws12 "12 " + bindsym $mod+F12 workspace $ws12; exec $term + + set $ws13 "13 " + bindsym Mod4+F3 workspace $ws13; exec $term + + set $ws14 "14" + set $ws15 "15" + +# ws bindings # +bindsym $mod+h workspace prev + bindsym $mod+l workspace next + + 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 Mod4+1 workspace $ws11 + # bindsym Mod4+2 workspace $ws12 + # bindsym Mod4+3 workspace $ws13 + # bindsym Mod4+4 workspace $ws14 + # bindsym Mod4+5 workspace $ws15 +# ws bindings # + +# move container to ws # +bindsym $mod+control+1 move container to workspace $ws1; workspace $ws1 + bindsym $mod+control+2 move container to workspace $ws2; workspace $ws2 + bindsym $mod+control+3 move container to workspace $ws3; workspace $ws3 + bindsym $mod+control+4 move container to workspace $ws4; workspace $ws4 + bindsym $mod+control+5 move container to workspace $ws5; workspace $ws5 + bindsym $mod+control+6 move container to workspace $ws6; workspace $ws6 + bindsym $mod+control+7 move container to workspace $ws7; workspace $ws7 + bindsym $mod+control+8 move container to workspace $ws8; workspace $ws8 + bindsym $mod+control+9 move container to workspace $ws9; workspace $ws9 + bindsym $mod+control+0 move container to workspace $ws10; workspace $ws10 + bindsym $mod+Shift+1 move container to workspace $ws11; workspace $ws11 + bindsym $mod+Shift+2 move container to workspace $ws12; workspace $ws12 + bindsym $mod+Shift+3 move container to workspace $ws13; workspace $ws13 + bindsym $mod+Shift+4 move container to workspace $ws14; workspace $ws14 + bindsym $mod+Shift+5 move container to workspace $ws15; workspace $ws15 +# move container to ws # + +# reload config/computer # +bindsym $mod+control+r exec i3-msg restart + bindsym $mod+Shift+c reload + # bindsym $mod+control+r reload + bindsym $mod+control+u exec xrdb ~/.Xresources + + # 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'" + +# resizing windows # +bindsym $mod+control+h resize grow width 5 px or 5 ppt + bindsym $mod+control+k resize grow height 5 px or 5 ppt + bindsym $mod+control+j resize shrink height 5 px or 5 ppt + bindsym $mod+control+l resize shrink width 5 px or 5 ppt + +# gaps # +for_window [class="^.*"] border pixel 3 + set $inner_gaps 40 + set $outer_gaps 0 + # remove window titlebars + # for_window [class="^.*"] border pixel 1 + + # gaps inner $inner_gaps + # gaps outer $outer_gaps + # gaps bottom 0 + gaps inner 0 + gaps outer 0 + + # other gaps # + + # gaps horizontal 20 + # gaps vertical 10 + # gaps top + # gaps left 20 + # gaps right 20 + # gaps bottom + + # other gaps # + + bindsym control+shift+plus gaps inner all set $inner_gaps;gaps outer all set $outer_gaps + bindsym control+shift+0 gaps inner all set 0;gaps outer all set 0 + +# status bar # +# set $sb_font Hack NF Bold +# set $sb_font EmojiOne +set $sb_font DejaVuSansMono Nerd Font Mono Bold + set $black #000000 + set $white #ffffff + for_window [class="Yad"] floating enable + + # set $inactive_ws_bg $white + set $inactive_ws_bg #444c52 + # set $inactive_ws_trans 96 + set $inactive_ws_trans 00 + + # set $active_ws_trans 91 + set $active_ws_trans 4b + + set $focused_ws_text #ffffff + + # set $bar_trans 64 + set $bar_trans 00 + set $main_ws_trans aa + # main bar + bar { + i3bar_command i3bar -t + {{ if eq .chezmoi.fullHostname "x1-carbon" }} + font pango:$sb_font 17 + {{ else }} + font pango:$sb_font 21 + {{ end }} + colors { + # 0 (transparent) -> 255 (opaque) in hex + background $black$bar_trans + # border, bg, text color + # focused_workspace $inactive_ws_bg $bg $focused_ws_text + focused_workspace $inactive_ws_bg $bg $fg + # active = focused on other screen + active_workspace $inactive_ws_bg $fg$active_ws_trans $fg + inactive_workspace $inactive_ws_bg $inactive_ws_bg$inactive_ws_trans $fg + } + tray_output none + # status_command i3blocks -c ~/.config/i3blocks/i3blocks.conf + status_command 2>/tmp/i3blocks.err i3blocks -vvv -c ~/.config/i3blocks/i3blocks.conf | tee /tmp/i3blocks.out + output $main + wheel_up_cmd nop + wheel_down_cmd nop + } + + # sam bar + bar { + output $secondary + {{ if eq .chezmoi.fullHostname "x1-carbon" }} + font pango:$sb_font 18 + {{ else }} + font pango:$sb_font 25 + {{ end }} + # output $main + i3bar_command i3bar -t + colors { + background $black$bar_trans + # border, bg, text color + # focused_workspace $inactive_ws_bg $bg $focused_ws_text + focused_workspace $inactive_ws_bg $bg $fg + active_workspace $inactive_ws_bg $fg$active_ws_trans $fg + inactive_workspace $inactive_ws_bg $inactive_ws_bg$inactive_ws_trans $fg + } + # status_command i3blocks -c ~/.config/i3blocks/sam-i3blocks.conf + status_command 2>/tmp/i3blocks-sam.err i3blocks -vvv -c ~/.config/i3blocks/sam-i3blocks.conf | tee /tmp/i3blocks-sam.out + tray_output none + wheel_up_cmd nop + wheel_down_cmd nop + } + # # # display # + # bar { + # i3bar_command i3bar -t + # font pango:$sb_font 23 + # tray_output none + # status_command i3blocks -c ~/.config/i3blocks/i3blocks-display.conf + # output $secondary + # wheel_up_cmd nop + # wheel_down_cmd nop + # } + # # display # +# status bar # + +# Font for window titles +font pango:$sb_font 11 + +# media keys # +bindsym XF86AudioRaiseVolume exec amixer -q -D pulse sset Master 5%+ && pkill -RTMIN+1 i3blocks + bindsym control+d exec ~/linux-config/scripts/change-sink dac + # bindsym control+shift+d exec ~/linux-config/scripts/change-sink dac2 + bindsym control+o exec ~/linux-config/scripts/change-sink line-out + + bindsym XF86AudioLowerVolume exec amixer -q -D pulse sset Master 5%- && pkill -RTMIN+1 i3blocks + bindsym XF86AudioMute exec amixer -q -D pulse sset Master toggle && pkill -RTMIN+1 i3blocks + + # Media player controls + bindsym XF86AudioPlay exec "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause" + bindsym XF86AudioStop exec "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Stop" + bindsym XF86AudioPrev exec "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous" + bindsym XF86AudioNext exec "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next" diff --git a/dot_config/private_fish/config.fish b/dot_config/private_fish/config.fish index 2ec4249..a25ad65 100644 --- a/dot_config/private_fish/config.fish +++ b/dot_config/private_fish/config.fish @@ -34,7 +34,6 @@ abbr rfs "sync-shortcuts && chezmoi apply && source ~/.config/fish/config.fish" abbr xf "fish_config" abbr f. "cd .." abbr f.. "cd ../.." -abbr mt "math" # }}} fish-specific # @@ -55,7 +54,8 @@ set -xU XSET_DELAY 200 # xmodmap ~/.Xmodmap && xset r rate $XSET_DELAY $XSET_RATE # xset r rate $XSET_DELAY $XSET_RATE -set -U BROWSER "chromium" +# set -U BROWSER "chromium" +set -U BROWSER "firefox" # }}} universal var's # @@ -79,6 +79,7 @@ abbr grmb "git-delete-branch" # }}} git # abbr hs "scan-history" abbr hst "$EDITOR ~/.local/share/fish/fish_history" +abbr mt "math" abbr pgr "grep-pdf" abbr pgrf "grep-pdf-file" abbr rs "redshift-set" diff --git a/dot_vimrc b/dot_vimrc index 8fa2e95..d5c4e3c 100644 --- a/dot_vimrc +++ b/dot_vimrc @@ -66,7 +66,7 @@ autocmd FileType tex set updatetime=3000 autocmd FileType tex map :VimtexCompile autocmd VimEnter *.tex VimtexCompile autocmd VimLeave *.tex !tex-clean %:p -autocmd BufNewFile,BufRead *.tmpl set tw=0 sw=2 +autocmd BufNewFile,BufRead *.tmpl set tw=0 sw=2 ft=tmpl " " auto-reload vimrc {{{ " @@ -414,4 +414,6 @@ autocmd Filetype javascript inoremap x process.exit() autocmd Filetype markdown nnoremap x 0f[lrx " nnoremap x 0f[lrx +autocmd Filetype tmpl inoremap e {{ else }} + " }}} Local Mappings "