summaryrefslogtreecommitdiff
path: root/scripts/Scripts/lc
blob: c44ce1963e6306176b369de2ef11977752a612f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#!/usr/bin/env bash

LOGFILE=.lc.log
DMENU="rofi -dmenu"

Commands="common update poweroff suspend set-keyboard caps-lock battery cups-website vim emacs htop scrot overleaf-render overleaf win pass wall stat mic mail"
statScripts="ram.sh status.sh net.sh mic.sh"

handle_stuff() {
	if [ "$1" = "--dmenu" ]; then
		$0 $(echo $Commands | tr " " "\n" | $DMENU -i -p "lc")
	fi

	if [ "$1" = "edit" ] || [ "$1" = "e" ]; then
		notify-send "$*"
		st -e nvim $(echo $* | cut -d" " -f2-)
	fi

# System info
	if [ "$1" = "b" ] || [ "$1" = "battery" ]; then
		notify-send "Battery information" "$(acpi | grep 1:)"
	fi

# System maintenance
	if [ "$1" = "sk" ] || [ "$1" = "set-keyboard" ]; then
		setxkbmap -layout us -variant altgr-intl
		xcape -e "Control_R=Escape"
		xmodmap .Xmodmap
	fi

# POWER COMMANDS
	if [ "$1" = "s" ] || [ "$1" = "suspend" ]; then
		systemctl suspend
	fi
	if [ "$1" = "poweroff" ]; then
		poweroff
	fi

# Mics
	if [ "$1" = "p" ] || [ "$1" = "scrot" ]; then
		scrot /tmp/%Y-%m-%d-%T-screenshot.png
	fi

	if [ "$1" = "overleaf-render" ]; then
		st sh ~/Documents/overleafRenderer/compile.sh
	fi

	if [ "$1" = "caps-lock" ] || [ "$1" = "cl" ]; then
		xdotool key Caps_Lock
	fi

	if [ "$1" = "win" ]; then
		vboxmanage startvm "Windows xp"
	fi
	if [ "$1" = "wall" ]; then
		feh --bg-tile Pictures/defaultWall.*
	fi
	if [ "$1" = "mic" ]; then
		amixer set Capture toggle
	fi
	if [ "$1" = "mail" ]; then
		Scripts/mailSync
		dunstify "Mail" "$(notmuch count tag:unread and tag:inbox) unread mail"
	fi

# Launch
	if [ "$1" = "vi" ] || [ "$1" = "vim" ]; then
		st -e nvim
	fi
	if [ "$1" = "emacs" ]; then
		st -e emacs
	fi
	if [ "$1" = "ht" ] || [ "$1" = "htop" ]; then
		st -e htop
	fi
	if [ "$1" = "cups" ] || [ "$1" = "cups-website" ]; then
		firefox "http://localhost:631/"
	fi
	if [ "$1" = "overleaf" ]; then
		firefox -p Sharelatex --no-remote
	fi
	if [ "$1" = "pass" ]; then
		bash $HOME/Scripts/passmenu --type
	fi

	if [ "$1" = "stat" ]; then
		sh /home/julian/Scripts/$(echo $statScripts | tr " " "\n" | $DMENU -i -p "stat")
	fi
	if [ "$1" = "common" ]; then
		python3 Scripts/commondocs.py ~/commondocs.json $(python3 Scripts/commondocs.py ~/commondocs.json | $DMENU)
	fi

# Calc
	if [ "$(echo $1 | head -c 1)" = "=" ]; then
		calc="$(echo $1 | cut -c 2-)"
		notify-send "Result" "$calc = $(echo $calc | bc)"
	fi
}


handle_stuff $* 2>&1 | tee -a $LOGFILE