summaryrefslogtreecommitdiff
path: root/scripts/Scripts/lc
blob: 1f6aaab2a08226d646450212bcabf5ec61b5052c (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
102
103
104
105
106
107
108
#!/usr/bin/env bash

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

Commands="sync lock common update poweroff suspend set-keyboard caps-lock battery cups-website vim emacs htop scrot overleaf-render overleaf win pass wall stat mic mail region"
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
	if [ "$1" = "lock" ]; then
        $HOME/Scripts/lock.sh
	fi

# Mics
	if [ "$1" = "p" ] || [ "$1" = "scrot" ]; then
		scrot /tmp/%Y-%m-%d-%T-screenshot.png
	fi
	if [ "$1" = "region" ]; then
        import /tmp/$(date -Iseconds)-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
		$HOME/Scripts/setwall -A
	fi
	if [ "$1" = "mic" ]; then
		amixer set Capture toggle
	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

    if [ "$1" = "sync" ]; then
        ./Scripts/sync.sh
        dunstify "Sync complete" "Sync completed at $(date)"
    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