From 7368ec60b4de3112db6a23b7ce50053ffb36daff Mon Sep 17 00:00:00 2001
From: TiynGER <kantemarten@googlemail.com>
Date: Sat, 28 Mar 2020 12:14:02 +0100
Subject: [PATCH] switch to dwm

---
 .config/i3/config                        | 175 -----------------------
 .config/i3blocks/config                  |  39 -----
 .config/sxhkd/sxhkdrc                    | 101 -------------
 .config/xorg/xinitrc                     |   3 +-
 .config/xorg/xprofile                    |   6 +-
 .local/bin/i3cmds/i3-scratchpad-dmenu.py |  27 ----
 .local/bin/i3cmds/i3resize               |  27 ----
 .local/bin/statusbar/dwmbar              |  10 ++
 .local/bin/statusbar/refbar              |   5 +
 .local/bin/sxhkd/dmenumount              |  59 --------
 .local/bin/sxhkd/dmenuumount             |  41 ------
 .local/bin/sxhkd/startpagesearch         |  20 ---
 .profile                                 |   1 +
 13 files changed, 22 insertions(+), 492 deletions(-)
 delete mode 100644 .config/i3/config
 delete mode 100644 .config/i3blocks/config
 delete mode 100644 .config/sxhkd/sxhkdrc
 delete mode 100644 .local/bin/i3cmds/i3-scratchpad-dmenu.py
 delete mode 100755 .local/bin/i3cmds/i3resize
 create mode 100755 .local/bin/statusbar/dwmbar
 create mode 100755 .local/bin/statusbar/refbar
 delete mode 100755 .local/bin/sxhkd/dmenumount
 delete mode 100755 .local/bin/sxhkd/dmenuumount
 delete mode 100755 .local/bin/sxhkd/startpagesearch

diff --git a/.config/i3/config b/.config/i3/config
deleted file mode 100644
index ca286b0..0000000
--- a/.config/i3/config
+++ /dev/null
@@ -1,175 +0,0 @@
-# vim: filetype=i3
-# File originally by Luke Smith <https://lukesmith.xyz>
-
-# This config file will use environmental variables such as $BROWSER and $TERMINAL.
-# You can set these variables in ~/.profile or ~/.bash_profile if you have it as below:
-#
-# export FILE="ranger"
-# export TERMINAL="st"
-
-# #------Auto Start-------# #
-exec --no-startup-id owncloud
-exec --no-startup-id toggletouchpad
-
-# #---Basic Definitions---# #
-for_window [class="^.*"] border pixel 1
-gaps inner 0
-gaps outer 0
-set $term --no-startup-id $TERMINAL
-set $mod Mod4
-font xft:mono 10
-
-# #---Dropdown Windows---# #
-# General dropdown window traits. The order can matter.
-for_window [instance="dropdown_*"] floating enable
-for_window [class="de.uol.swp.client.ClientApp"] floating enable
-for_window [instance="dropdown_*"] move scratchpad
-for_window [instance="dropdown_*"] sticky enable
-for_window [instance="dropdown_*"] scratchpad show
-for_window [instance="dropdown_tmuxdd"] resize set 625 450
-for_window [instance="dropdown_dropdowncalc"] resize set 800 300
-for_window [instance="dropdown_tmuxdd"] border pixel 3
-for_window [instance="dropdown_dropdowncalc"] border pixel 2
-for_window [instance="dropdown_*"] move position center
-
-
-bar {
-	font pango:mono 10
-	status_command i3blocks
-	position top
-	mode dock
-	modifier None
-	colors {
-		background #000000
-		statusline #ffffff
-		separator #333333
-		#Bord #Back #Text
-		focused_workspace #ffa500 #4a4a4a #ffa500
-		active_workspace #ffa500 #33333 #ffa500
-		inactive_workspace #ffa500 #000000 #ffa500
-		urgent_workspace #ffa500 #000000 #900000
-	}
-}
-client.placeholder #242424 #242424 #242424
-client.background #242424 #242424 #242424
-client.focused #4a4a4a #4a4a4a #e5e5e5 #6a6a6a
-client.unfocused #4a4a4a #222222 #aaaaaa #222222
-client.focused_inactive #4a4a4a #222222 #a9a9a9 #222222
-client.urgent #4a4a4a #4a4a4a #f7f7f7 #4a4a4a
-
-
-# #---Basic Bindings---# #
-bindsym $mod+Shift+Escape 	exec --no-startup-id prompt "Exit i3?" "i3-msg exit"
-
-#bindsym $mod+Return taken by sxhkd
-
-#bindym $mod+b taken by sxhkd
-bindsym $mod+Shift+b			bar mode toggle
-
-#bindsym $mod+c taken by sxhkd
-
-bindsym $mod+Shift+d  			floating toggle
-
-bindsym $mod+Shift+f			fullscreen toggle
-
-bindsym $mod+h			focus left
-bindsym $mod+Shift+h		move left 30
-
-#bindsym $mod+i taken by sxhkd
-bindsym $mod+Shift+i		exec --no-startup-id i3resize up
-
-bindsym $mod+j			focus down
-bindsym $mod+Shift+j		move down 30
-
-bindsym $mod+k			focus up
-bindsym $mod+Shift+k		move up 30
-
-bindsym $mod+l			focus right
-bindsym $mod+Shift+l		move right 30
-
-#bindsym $mod+m taken by sxhkd
-bindsym $mod+Shift+m 		move scratchpad
-
-#bindsym $mod+n taken by sxhkd
-#bindsym $mod+Shift+n taken by sxhkd
-
-bindsym $mod+Shift+o		exec --no-startup-id i3resize right
-
-#bindym $mod+p taken by sxhkd
-
-bindsym $mod+q			[con_id="__focused__" instance="^(?!dropdown_).*$"] kill
-bindsym $mod+Shift+q		[con_id="__focused__" instance="^(?!dropdown_).*$"] exec --no-startup-id kill -9 `xdotool getwindowfocus getwindowpid`
-
-#bindsym $mod+r taken by sxhkd
-#bindsym $mod+shift+r taken by sxhkd
-
-#bindsym $mod+s taken by sxhkd
-
-bindsym $mod+t			split toggle
-
-bindsym $mod+Shift+u		exec --no-startup-id i3resize down
-
-#bindsym $mod+x taken by sxhkd
-
-bindsym $mod+Shift+z		exec --no-startup-id i3resize left
-
-#bindsym $mod+F5 taken by sxhkd
-
-#bindsym $mod+F6 taken by sxhkd
-
-#bindsym $mod+F7 taken by sxhkd
-
-#bindsym $mod+F8 taken by sxhkd
-
-#bindsym $mod+F9 taken by sxhkd
-
-#bindsym $mod+F10 taken by sxhkd
-
-#bindsym $mod+F11 taken by sxhkd
-
-#bindsym $mod+F12 taken by sxhkd
-
-
-# #---Workspace Bindings---# #
-set $ws1 "1DF"
-set $ws2 "2VR"
-set $ws3 "3RS"
-set $ws4 "4RS"
-set $ws5 "5WK"
-set $ws6 "6WK"
-set $ws7 "7ME"
-set $ws8 "8CM"
-set $ws9 "9GM"
-set $ws0 "0EX"
-
-# 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 $ws0
-
-# 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 $ws0
-
-for_window [class="Pinentry"] sticky enable
-for_window [class="sent"] border pixel 0px
-for_window [title="GIMP Startup"] move workspace $ws5
-for_window [class="Gimp"] move workspace $ws5
-for_window [window_role="GtkFileChooserDialog"] resize set 800 600
-for_window [window_role="GtkFileChooserDialog"] move position center
-for_window [title="Default - Wine desktop"] floating enable
diff --git a/.config/i3blocks/config b/.config/i3blocks/config
deleted file mode 100644
index 4af574e..0000000
--- a/.config/i3blocks/config
+++ /dev/null
@@ -1,39 +0,0 @@
-separator_block_width=15
-markup=pango
-
-[weather]
-command=~/.local/bin/statusbar/weather
-interval=1200
-signal=5
-
-[memory]
-command=~/.local/bin/statusbar/memory
-interval=30
-label=🧠
-
-[cpu]
-command=~/.local/bin/statusbar/cpu
-interval=15
-label=💻
-
-[volume]
-command=~/.local/bin/statusbar/volume
-interval=once
-signal=10
-
-[disk]
-interval=180
-command=~/.local/bin/statusbar/disk /
-
-[battery]
-command=~/.local/bin/statusbar/battery BAT0
-interval=180
-
-[clock]
-command=~/.local/bin/statusbar/clock
-label=📅
-interval=30
-
-[internet]
-command=~/.local/bin/statusbar/internet
-interval=10
diff --git a/.config/sxhkd/sxhkdrc b/.config/sxhkd/sxhkdrc
deleted file mode 100644
index 4586018..0000000
--- a/.config/sxhkd/sxhkdrc
+++ /dev/null
@@ -1,101 +0,0 @@
-## Basic binds
-#super + shift + escape taken by i3
-super + Return
-	$TERMINAL
-super + b
-	$BROWSER
-super + c
-	code
-#super + shift + d taken by i3
-super + f
-	$TERMINAL -e $FILE
-#super + shift + f taken by i3
-#super + h taken by i3
-#super + shift + h taken by i3
-super + i
-	intellij-idea-ultimate-edition
-#super + shift + i taken by i3
-#super + j taken by i3
-#super + shift + j taken by i3
-#super + k taken by i3
-#super + shift + k taken by i3
-#super + l taken by i3
-#super + shift + l taken by i3
-super + m
-	thunderbird
-#super + shift + m taken by i3
-super + n
-	$TERMINAL -e newsboat
-super + shift + n
-	i3-scratchpad-dmenu.py
-#super + shift + o taken by i3
-super + p
-	$MUSIC
-#super + q taken by i3
-#super + shift + q taken by i3
-super + r
-	$TERMINAL -e rtv
-super + s
-	startpagesearch
-super + shift + r
-	dmenu_run -c -l 20
-#super + t taken by i3
-#super + shift + u taken by i3
-super + x
-	xournalpp
-#super + shift + z taken by i3
-
-super + F4
-	togglemonitor
-super + F5
-	toggletouchpad
-super + F6
-	dmenumount
-super + F7
-	dmenuumount
-super + F8
-	sudo -A systemctl restart NetworkManager
-super + F9
-	$TERMINAL -e sudo -A nmtui
-super + F10
-	prompt "Lock computer?" "slock"
-super + F11
-	prompt "Reboot computer?" "sudo -A shutdown -r now"
-super + F12
-	prompt "Shutdown computer?" "sudo -A shutdown -h now"
-#super + 1 taken by i3
-#super + 2 taken by i3
-#super + 3 taken by i3
-#super + 4 taken by i3
-#super + 5 taken by i3
-#super + 6 taken by i3
-#super + 7 taken by i3
-#super + 8 taken by i3
-#super + 9 taken by i3
-#super + 0 taken by i3
-#super + shift + 1 taken by i3
-#super + shift + 2 taken by i3
-#super + shift + 3 taken by i3
-#super + shift + 4 taken by i3
-#super + shift + 5 taken by i3
-#super + shift + 6 taken by i3
-#super + shift + 7 taken by i3
-#super + shift + 8 taken by i3
-#super + shift + 9 taken by i3
-#super + shift + 0 taken by i3
-
-## FN combinations
-XF86Launch1
-	xset dpms force off
-XF86AudioMute
-	lmc m
-XF86AudioMicMute
-	pactl set-source-mute 1 toggle
-XF86AudioLowerVolume
-	lmc down 5
-XF86AudioRaiseVolume
-	lmc up 5
-XF86MonBrightnessDown
-	light -U 15
-XF86MonBrightnessUp
-	light -A 15
diff --git a/.config/xorg/xinitrc b/.config/xorg/xinitrc
index fcc6419..40cf8cc 100644
--- a/.config/xorg/xinitrc
+++ b/.config/xorg/xinitrc
@@ -7,4 +7,5 @@
 
 xterm -geometry 80x24+10+10 -fn 10x20
 
-exec i3
+setbg
+exec dwm
diff --git a/.config/xorg/xprofile b/.config/xorg/xprofile
index 89e6a25..08d61ec 100644
--- a/.config/xorg/xprofile
+++ b/.config/xorg/xprofile
@@ -1,10 +1,12 @@
 #!/bin/sh
 
-setbg &			# Set the background
-sxhkd &			# Bind keys
 xset r rate 300 50 &	# Speed xrate up
 unclutter &		# Remove mouse when idle
 xcompmgr &		# xcompmgr for transparency
 dunst &			# dunst for notifications
 redshift &		# redshift for saving your eyes
 mpd &		# starts the mpd server for music
+toggletouchpad & # deactivates the touchpad
+owncloud &
+dwmbar &
+#sxhkd &
diff --git a/.local/bin/i3cmds/i3-scratchpad-dmenu.py b/.local/bin/i3cmds/i3-scratchpad-dmenu.py
deleted file mode 100644
index b6c4883..0000000
--- a/.local/bin/i3cmds/i3-scratchpad-dmenu.py
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/usr/bin/env python3
-
-import i3ipc
-import subprocess
-import re
-
-i3 = i3ipc.Connection()
-
-def get_scratchpad_windows():
-    scratchpad_containers = i3.get_tree().scratchpad().descendants()
-    return filter(lambda c: c.type == 'con' and c.name, scratchpad_containers)
-
-def dmenu_choose(options):
-    """ Show a dmenu to choose a string item from a list of *options*. """
-    dmenu_process = subprocess.Popen(["dmenu", "-l", "10"], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
-    stdoutdata, _ = dmenu_process.communicate("\n".join(options).encode())
-    return stdoutdata.decode('utf-8')
-
-def main():
-    scratchpad_windows = get_scratchpad_windows()
-    window_titles = [w.name for w in scratchpad_windows]
-    if window_titles:
-        window_to_restore = re.escape(dmenu_choose(window_titles).strip())
-        i3.command('[title="{}"] scratchpad show'.format(window_to_restore))
-
-if __name__ == '__main__':
-    main()
diff --git a/.local/bin/i3cmds/i3resize b/.local/bin/i3cmds/i3resize
deleted file mode 100755
index 11b0992..0000000
--- a/.local/bin/i3cmds/i3resize
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-# This script was made by `goferito` on Github.
-# Some cleanup by Luke.
-
-[ -z "$1" ] && echo "No direction provided" && exit 1
-distanceStr="2 px or 2 ppt"
-
-moveChoice() {
-  i3-msg resize "$1" "$2" "$distanceStr" | grep '"success":true' || \
-    i3-msg resize "$3" "$4" "$distanceStr"
-}
-
-case $1 in
-  up)
-    moveChoice grow up shrink down
-    ;;
-  down)
-    moveChoice shrink up grow down
-    ;;
-  left)
-    moveChoice shrink right grow left
-    ;;
-  right)
-    moveChoice grow right shrink left
-    ;;
-esac
-
diff --git a/.local/bin/statusbar/dwmbar b/.local/bin/statusbar/dwmbar
new file mode 100755
index 0000000..b273e29
--- /dev/null
+++ b/.local/bin/statusbar/dwmbar
@@ -0,0 +1,10 @@
+#!/bin/sh
+status() { \
+	echo "$(volume) | $(internet) | $(clock)"
+}
+while :; do
+	xsetroot -name "$(status | tr '\n' ' ')"
+
+	sleep 1m
+done
+
diff --git a/.local/bin/statusbar/refbar b/.local/bin/statusbar/refbar
new file mode 100755
index 0000000..84f65a1
--- /dev/null
+++ b/.local/bin/statusbar/refbar
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# Refresh the dwmbar.
+
+kill "$(pstree -lp | grep -- -dwmbar\([0-9] | sed "s/.*sleep(\([0-9]\+\)).*/\1/")"
diff --git a/.local/bin/sxhkd/dmenumount b/.local/bin/sxhkd/dmenumount
deleted file mode 100755
index 0de5f0f..0000000
--- a/.local/bin/sxhkd/dmenumount
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/bin/sh
-# Gives a dmenu prompt to mount unmounted drives.
-# If they're in /etc/fstab, they'll be mounted automatically.
-# Otherwise, you'll be prompted to give a mountpoint from already existsing directories.
-# If you input a novel directory, it will prompt you to create that directory.
-
-getmount() { \
-	[ -z "$chosen" ] && exit 1
-	mp="$(find $1 2>/dev/null | dmenu -i -p "Type in mount point.")"
-	[ "$mp" = "" ] && exit 1
-	if [ ! -d "$mp" ]; then
-		mkdiryn=$(printf "No\\nYes" | dmenu -i -p "$mp does not exist. Create it?")
-		[ "$mkdiryn" = "Yes" ] && (mkdir -p "$mp" || sudo -A mkdir -p "$mp")
-	fi
-	}
-
-mountusb() { \
-	chosen="$(echo "$usbdrives" | dmenu -i -p "Mount which drive?" | awk '{print $1}')"
-	sudo -A mount "$chosen" 2>/dev/null && notify-send "💻 USB mounting" "$chosen mounted." && exit 0
-	alreadymounted=$(lsblk -nrpo "name,type,mountpoint" | awk '$2=="part"&&$3!~/\/boot|\/home$|SWAP/&&length($3)>1{printf "-not \\( -path *%s -prune \\) \\ \n",$3}')
-	getmount "/mnt /media /mount /home -maxdepth 5 -type d $alreadymounted"
-	partitiontype="$(lsblk -no "fstype" "$chosen")"
-	case "$partitiontype" in
-		"vfat") sudo -A mount -t vfat "$chosen" "$mp" -o rw,umask=0000;;
-		*) sudo -A mount "$chosen" "$mp"; user="$(whoami)"; ug="$(groups | awk '{print $1}')"; sudo -A chown "$user":"$ug" "$mp";;
-	esac
-	notify-send "💻 USB mounting" "$chosen mounted to $mp."
-	}
-
-mountandroid() { \
-	chosen=$(echo "$anddrives" | dmenu -i -p "Which Android device?" | cut -d : -f 1)
-	getmount "$HOME -maxdepth 3 -type d"
-	simple-mtpfs --device "$chosen" "$mp"
-	notify-send "🤖 Android Mounting" "Android device mounted to $mp."
-	}
-
-asktype() { \
-	case $(printf "USB\\nAndroid" | dmenu -i -p "Mount a USB drive or Android device?") in
-		USB) mountusb ;;
-		Android) mountandroid ;;
-	esac
-	}
-
-anddrives=$(simple-mtpfs -l 2>/dev/null)
-usbdrives="$(lsblk -rpo "name,type,size,mountpoint" | awk '$2=="part"&&$4==""{printf "%s (%s)\n",$1,$3}')"
-
-if [ -z "$usbdrives" ]; then
-	[ -z "$anddrives" ] && echo "No USB drive or Android device detected" && exit
-	echo "Android device(s) detected."
-	mountandroid
-else
-	if [ -z "$anddrives" ]; then
-		echo "USB drive(s) detected."
-	       	mountusb
-	else
-		echo "Mountable USB drive(s) and Android device(s) detected."
-		asktype
-	fi
-fi
diff --git a/.local/bin/sxhkd/dmenuumount b/.local/bin/sxhkd/dmenuumount
deleted file mode 100755
index dee53e7..0000000
--- a/.local/bin/sxhkd/dmenuumount
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/bin/sh
-# A dmenu prompt to unmount drives.
-# Provides you with mounted partitions, select one to unmount.
-# Drives mounted at /, /boot and /home will not be options to unmount.
-
-unmountusb() {
-	[ -z "$drives" ] && exit
-	chosen=$(echo "$drives" | dmenu -i -p "Unmount which drive?" | awk '{print $1}')
-	[ -z "$chosen" ] && exit
-	sudo -A umount "$chosen" && notify-send "💻 USB unmounting" "$chosen unmounted."
-	}
-
-unmountandroid() { \
-	chosen=$(awk '/simple-mtpfs/ {print $2}' /etc/mtab | dmenu -i -p "Unmount which device?")
-	[ -z "$chosen" ] && exit
-	sudo -A umount -l "$chosen" && notify-send "🤖 Android unmounting" "$chosen unmounted."
-	}
-
-asktype() { \
-	case "$(printf "USB\\nAndroid" | dmenu -i -p "Unmount a USB drive or Android device?")" in
-		USB) unmountusb ;;
-		Android) unmountandroid ;;
-	esac
-	}
-
-drives=$(lsblk -nrpo "name,type,size,mountpoint" | awk '$2=="part"&&$4!~/\/boot|\/home$|SWAP/&&length($4)>1{printf "%s (%s)\n",$4,$3}')
-
-if ! grep simple-mtpfs /etc/mtab; then
-	[ -z "$drives" ] && echo "No drives to unmount." &&  exit
-	echo "Unmountable USB drive detected."
-	unmountusb
-else
-	if [ -z "$drives" ]
-	then
-		echo "Unmountable Android device detected."
-	       	unmountandroid
-	else
-		echo "Unmountable USB drive(s) and Android device(s) detected."
-		asktype
-	fi
-fi
diff --git a/.local/bin/sxhkd/startpagesearch b/.local/bin/sxhkd/startpagesearch
deleted file mode 100755
index 3498d18..0000000
--- a/.local/bin/sxhkd/startpagesearch
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-# Gives a dmenu prompt to search Startpage.
-# Without input, will open Startpage.com.
-# URLs will be directly handed to the browser.
-# Anything else, it search it.
-browser=${RTVBROWSER:-firefox}
-
-pgrep -x dmenu && exit
-
-choice=$(echo "Startpage" | dmenu -i -p "Search Startpage:") || exit 1
-
-if [ "$choice" = "Startpage"  ]; then
-    $RTV_BROWSER "https://startpage.com"
-else
-    if echo "$choice" | grep "^(http:\/\/|https:\/\/)?[a-zA-Z0-9]+\.[a-zA-Z]+(/)?.*$"; then
-        $RTV_BROWSER "$choice"
-    else
-        $RTV_BROWSER "https://startpage.com/do/search/?q=$choice"
-    fi
-fi
diff --git a/.profile b/.profile
index 46b0c44..b19a2bf 100644
--- a/.profile
+++ b/.profile
@@ -42,6 +42,7 @@ export TMUX_TMPDIR="$XDG_RUNTIME_HOME/tmux"
 export WGETRC="$XDG_CONFIG_HOME/wgetrc"
 export XAUTHORITY="$XDG_RUNTIME_HOME/Xauthority"
 export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
+export _JAVA_AWT_WM_NONREPARENTING=1
 
 # less/man colors
 export LESS=-R