diff --git a/dotfiles/.config/sxhkd/sxhkdrc b/dotfiles/.config/sxhkd/sxhkdrc deleted file mode 100644 index dd6ac4db..00000000 --- a/dotfiles/.config/sxhkd/sxhkdrc +++ /dev/null @@ -1,113 +0,0 @@ -################################################################################## -# -# New Start: A modern Arch workflow built with an emphasis on functionality. -# Copyright (C) 2017 Donovan Glover -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -################################################################################## - -# Open a new terminal window -super + Return - urxvtcd - -# Reload sxhkd (applies new keybindings, etc.) -super + Escape - pkill -USR1 -x sxhkd - -# Close the focused window -super + q - bspc node -c - -# Force close the focused window -super + shift + q - bspc node -k - -# Switch to the window in a certain direction -super + {h,j,k,l} - bspc node -f {west,south,north,east} - -# Swap a window with another in a certain direction -super + shift + {h,j,k,l} - bspc node -s {west,south,north,east} - -# Focus the window under the cursor -super + @space - bspc node -f pointed - -# Toggle the "sticky" state of a window -# (i.e. the window follows you no matter -# which workspace you choose) -# Useful for videos, etc. -super + x - bspc node -g sticky - -# Move to the next desktop on the current monitor -alt + Tab - bspc desktop -f next.local - -# Move to the previous desktop on the current monitor -alt + shift + Tab - bspc desktop -f prev.local - -# Focus the last window you used -# Useful to easily go back and forth -# between windows -super + g - bspc node -f last - -# Focus the last desktop you used -# Useful to easily go back and forth -# between desktops -alt + a - bspc desktop -f last - -# Focus a certain desktop -super + {1-9,0} - bspc desktop -f '^{1-9,10}' - -# Send a window to a certain desktop -super + shift + {1-9,0} - bspc node -d '^{1-9,10}' - -# Change the window mode to pseudo_tiled -# This floats the window in the area it occupies -# and automatically centers it -super + t - bspc noded -t pseudo_tiled - -# Change the window mode to tiled (default) -super + shift + t - bspc node -t tiled - -# Change the window mode to floating -# This is the equivalent of a floating window in i3 -super + space - bspc node -t floating - -# Toggle between "tiled" and "fullscreen" -# monocle mode -super + f - bspc desktop -l next - -super + p - ~/.config/sxhkd/screenshot.sh - -super + o - xdo hide -N "Polybar" - -super + O - xdo show -N "Polybar" - -# vim:ft=sxhkdrc diff --git a/dotfiles/.gnupg/gpg-agent.conf b/dotfiles/.gnupg/gpg-agent.conf deleted file mode 100644 index c847e1fe..00000000 --- a/dotfiles/.gnupg/gpg-agent.conf +++ /dev/null @@ -1,22 +0,0 @@ -################################################################################## -# -# New Start: A modern Arch workflow built with an emphasis on functionality. -# Copyright (C) 2017 Donovan Glover -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -################################################################################## - -# Use the terminal instead of a GTK window when prompting for passwords -pinentry-program /usr/bin/pinentry-curses diff --git a/gnupg/.gnupg/gpg-agent.conf b/gnupg/.gnupg/gpg-agent.conf new file mode 100644 index 00000000..822246ea --- /dev/null +++ b/gnupg/.gnupg/gpg-agent.conf @@ -0,0 +1,5 @@ +# New Start: A modern Arch workflow built with an emphasis on functionality. +# Copyright (C) 2017 Donovan Glover + +# Use the terminal instead of a GTK window when prompting for passwords +pinentry-program /usr/bin/pinentry-curses diff --git a/dotfiles/.gnupg/gpg.conf b/gnupg/.gnupg/gpg.conf similarity index 62% rename from dotfiles/.gnupg/gpg.conf rename to gnupg/.gnupg/gpg.conf index 02b3ca41..8dc063d7 100644 --- a/dotfiles/.gnupg/gpg.conf +++ b/gnupg/.gnupg/gpg.conf @@ -1,22 +1,5 @@ -################################################################################## -# -# New Start: A modern Arch workflow built with an emphasis on functionality. -# Copyright (C) 2017 Donovan Glover -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -################################################################################## +# New Start: A modern Arch workflow built with an emphasis on functionality. +# Copyright (C) 2017 Donovan Glover # 1. Use a keypool (specifically sks) instead of a regular keyserver # 2. Use hkps to ensure a secure connection (hkp is to GPG as what http is to the web) diff --git a/dotfiles/.gnupg/sks-cert.pem b/gnupg/.gnupg/sks-cert.pem similarity index 100% rename from dotfiles/.gnupg/sks-cert.pem rename to gnupg/.gnupg/sks-cert.pem diff --git a/dotfiles/.config/sxhkd/screenshot.sh b/sxhkd/.config/sxhkd/screenshot.sh similarity index 54% rename from dotfiles/.config/sxhkd/screenshot.sh rename to sxhkd/.config/sxhkd/screenshot.sh index 3b9e6c30..1dd48f74 100644 --- a/dotfiles/.config/sxhkd/screenshot.sh +++ b/sxhkd/.config/sxhkd/screenshot.sh @@ -1,3 +1,6 @@ +# New Start: A modern Arch workflow built with an emphasis on functionality. +# Copyright (C) 2017 Donovan Glover + DATETIME=`date +%F_%H%M%S` shotgun ~/Pictures/Screenshots/$DATETIME.png feh ~/Pictures/Screenshots/$DATETIME.png --geometry 3200x1800 diff --git a/sxhkd/.config/sxhkd/sxhkdrc b/sxhkd/.config/sxhkd/sxhkdrc new file mode 100644 index 00000000..afe41d9a --- /dev/null +++ b/sxhkd/.config/sxhkd/sxhkdrc @@ -0,0 +1,153 @@ +# New Start: A modern Arch workflow built with an emphasis on functionality. +# Copyright (C) 2017-2018 Donovan Glover + +# Open a new terminal window +super + Return + urxvtcd + +# Reload sxhkd (applies new keybindings, etc.) +super + Escape + pkill -USR1 -x sxhkd + +# Close the focused window +super + q + bspc node -c + +# Force close the focused window +super + shift + q + bspc node -k + +# Switch to the window in a certain direction +super + {h,j,k,l} + bspc node -f {west,south,north,east} + +# Swap a window with another in a certain direction +super + shift + {h,j,k,l} + bspc node -s {west,south,north,east} + +# Switch between windows in fullscreen (monocle mode) +super + {n,m} + bspc node -f {next,prev} + +# Focus the window under the cursor +super + @space + bspc node -f pointed + +# Toggle the "sticky" state of a window +# (i.e. the window follows you no matter +# which workspace you choose) +# Useful for videos, etc. +super + x + bspc node -g sticky + +# Move to the next desktop on the current monitor +alt + Tab + bspc desktop -f next.local + +# Move to the previous desktop on the current monitor +alt + shift + Tab + bspc desktop -f prev.local + +# Focus the last window you used +# Useful to easily go back and forth +# between windows +super + c + bspc node -f last + +# Focus the last desktop you used +# Useful to easily go back and forth +# between desktops +alt + a + bspc desktop -f last + +# Focus a certain desktop +super + {1-9,0} + bspc desktop -f '^{1-9,10}' + +# Send a window to a certain desktop +super + shift + {1-9,0} + bspc node -d '^{1-9,10}' + +# Toggle between pseudo_tiled and tiled +# This floats the window in the area it occupies +# and automatically centers it +super + r + if [ -z "$(bspc query -N -n focused.pseudo_tiled)" ]; then \ + bspc node focused -t pseudo_tiled; \ + else \ + bspc node focused -t tiled; \ + fi + +# Toggle between tiled and "true" fullscreen +super + t + bspc node focused -t fullscreen + +super + shift + t + bspc node focused -t tiled + +# Toggle between floating and tiled (default) +# This is the equivalent of a floating window in i3 +super + v + if [ -z "$(bspc query -N -n focused.floating)" ]; then \ + bspc node focused -t floating; \ + else \ + bspc node focused -t tiled; \ + fi + +# Same as above +super + space + if [ -z "$(bspc query -N -n focused.floating)" ]; then \ + bspc node focused -t floating; \ + else \ + bspc node focused -t tiled; \ + fi + +# Toggle between "tiled" and "fullscreen" monocle mode +super + f + bspc desktop -l next + +super + p + ~/.config/sxhkd/screenshot.sh + +super + o + xdo hide -N "Polybar" && bspc config top_padding 0 + +# Note that polybar automatically handles top_padding *but* +# this does not apply to all desktops, so we have to specify it manually here +# top_padding depends on the height you set in polybar/config +super + O + xdo show -N "Polybar" && bspc config top_padding 80 + +# ===================== +# ===== Preselect ===== +# ===================== + +# Preselect where windows go +super + ctrl + {h,j,k,l} + bspc node -p {west,south,north,east} + +# Preselect the ratio of windows +super + ctrl + {1-9} + bspc node -o 0.{1-9} + +# Cancel the preselection for the focused node +super + ctrl + space + bspc node -p cancel + +# ====================== +# ======= Resize ======= +# ====================== + +# Expand a window (move its side outward) +super + alt + {h,j,k,l} + bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0} + +# Contract a window (move its side inward) +super + alt + shift + {h,j,k,l} + bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0} + +# Move a floating window +super + {Left,Down,Up,Right} + bspc node -v {-20 0,0 20,0 -20,20 0} + +# vim:ft=sxhkdrc diff --git a/dotfiles/.xinitrc b/xinit/.xinitrc similarity index 100% rename from dotfiles/.xinitrc rename to xinit/.xinitrc