forked from rgcr/m-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfinder
executable file
·136 lines (124 loc) · 3.88 KB
/
finder
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#!/usr/bin/env bash
# TODO: add more functionalities
help(){
cat<<__EOF__
usage: m finder [ showhiddenfiles | showfileextensions | showdesktop | help ]
Examples:
m finder showhiddenfiles # get the current status
m finder showhiddenfiles YES # show hidden files
m finder showhiddenfiles NO # don't show hidden files
m finder showextensions # get the current status
m finder showextensions YES # show all file extensions
m finder showextensions NO # don't show all file extensions
m finder showdesktop # get the current desktop status
m finder showdesktop YES # enable the desktop
m finder showdesktop NO # disable the desktop
__EOF__
}
hidden_files(){
case $1 in
[yY][eE][sS])
echo "Show hidden files: YES"
defaults write com.apple.finder AppleShowAllFiles -bool true
;;
[nN][oO])
echo "Show hidden files: NO"
defaults write com.apple.finder AppleShowAllFiles -bool false
;;
*)
HIDDEN_FILE_STATUS=$(defaults read com.apple.finder AppleShowAllFiles 2>/dev/null)
case $HIDDEN_FILE_STATUS in
0|[nN][oO]|[fF][aA][lL][sS][eE])
HIDDEN_FILE_STATUS="NO"
;;
1|[yY][eE][sS]|[tT][rU][eE])
HIDDEN_FILE_STATUS="YES"
;;
*)
echo "We can't read AppleShowAllFiles property" && exit 1
;;
esac
echo "Show hidden files: $HIDDEN_FILE_STATUS"
exit 0
;;
esac
killall Finder
}
file_extensions(){
case $1 in
[yY][eE][sS])
echo "Show file extensions: YES"
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
;;
[nN][oO])
echo "Show file extensions: NO"
defaults write NSGlobalDomain AppleShowAllExtensions -bool false
;;
*)
EXTENSION_STATUS=$(defaults read NSGlobalDomain AppleShowAllExtensions 2>/dev/null)
case $EXTENSION_STATUS in
0|[nN][oO]|[fF][aA][lL][sS][eE])
EXTENSION_STATUS="NO"
;;
1|[yY][eE][sS]|[tT][rU][eE])
EXTENSION_STATUS="YES"
;;
*)
echo "We can't read AppleShowAllExtension property" && exit 1
;;
esac
echo "Show file extensions: $EXTENSION_STATUS"
exit 0
;;
esac
killall Finder
}
desktop(){
case $1 in
[yY][eE][sS])
echo "Enable desktop: YES"
defaults write com.apple.finder CreateDesktop -bool true
;;
[nN][oO])
echo "Enable desktop: NO"
defaults write com.apple.finder CreateDesktop -bool false
;;
*)
DESKTOP_STATUS=$(defaults read com.apple.finder CreateDesktop 2>/dev/null)
case $DESKTOP_STATUS in
0|[nN][oO]|[fF][aA][lL][sS][eE])
DESKTOP_STATUS="disabled"
;;
1|[yY][eE][sS]|[tT][rU][eE])
DESKTOP_STATUS="enabled"
;;
*)
echo "We can't read CreateDesktop property" && exit 1
;;
esac
echo "Desktop: $DESKTOP_STATUS"
;;
esac
killall Finder
}
case $1 in
help)
help
;;
showhiddenfiles)
shift
hidden_files "$@"
;;
showextensions)
shift
file_extensions "$@"
;;
showdesktop)
shift
desktop "$@"
;;
*)
help
;;
esac
# vim: ts=4 sw=4 softtabstop=4 expandtab