-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsetup-termux-desktop
713 lines (647 loc) · 22.2 KB
/
setup-termux-desktop
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
#!/data/data/com.termux/files/usr/bin/bash
R="$(printf '\033[1;31m')"
G="$(printf '\033[1;32m')"
Y="$(printf '\033[1;33m')"
B="$(printf '\033[1;34m')"
C="$(printf '\033[1;36m')"
W="$(printf '\033[1;37m')"
function banner() {
clear
printf "\033[33m ▀█▀ █▀▀ █▀█ █▀▄▀█ █░█ ▀▄▀ █▀▄ █▀▀ █▀ █▄▀ ▀█▀ █▀█ █▀█ \033[0m\n"
printf "\033[33m ░█░ ██▄ █▀▄ █░▀░█ █▄█ █░█ █▄▀ ██▄ ▄█ █░█ ░█░ █▄█ █▀▀ \033[0m\n"
echo
printf "\033[32m Install Gui Desktop In Termux \033[0m\n"
printf "\033[32m code by @sabamdrif \033[0m\n"
echo
}
#########################################################################
############################### Shortcut Functions ######################
#########################################################################
function check_and_create_directory() {
if [ ! -d "$HOME/$1" ]; then
mkdir -p "$HOME/$1"
fi
}
function check_and_delete() {
if [[ -e "$1" ]]; then
rm -rf $1
fi
}
function check_and_backup() {
if [[ -e "$HOME/$1" ]]; then
mv $HOME/$1 $HOME/${1}-backup
mkdir -p "$HOME/$1"
fi
}
function package_install_and_check() {
for package_name in "$@"; do
echo "${R} [${W}-${R}]${G} Installing package: ${C}$package_name${W}"
pkg install "$package_name" -y
if type -p "$package_name" &>/dev/null || [ -e "$PREFIX/bin/$package_name"* ] || [ -e "$PREFIX/bin/"*"$package_name" ]; then
echo "${R} [${W}-${R}]${G} $package_name is installed successfully${W}"
fi
done
}
function get_file_name_number() {
current_file=$(basename "$0")
folder_name="${current_file%.sh}"
theme_number=$(echo "$folder_name" | grep -oE '[1-9][0-9]*')
}
function download_and_extract() {
local url="$1"
local target_dir="$2"
local filename="${url##*/}" # Extract filename from URL
local filename_no_ext="${filename%.tar.gz}" # Remove .tar.gz extension
echo "Downloading ${filename_no_ext} Pack"
sleep 1.5
cd "$target_dir" || return 1
local attempt=1
local success=false
while [ $attempt -le 3 ]; do
if curl -# -L "$url" -o "$filename"; then
tar -zxvf "$filename"
rm "$filename"
success=true
break
else
echo "Failed to download ${filename_no_ext}"
echo "Retrying... Attempt $attempt"
((attempt++))
sleep 1
fi
done
if [ "$success" = false ]; then
echo "Failed to download ${filename_no_ext}"
echo "Please check your internet connection"
fi
}
function count_subfolders() {
local owner="$1"
local repo="$2"
local path="$3"
local url="https://api.github.com/repos/$owner/$repo/contents/$path"
local response=$(curl -s "$url")
local subfolder_count=$(echo "$response" | jq -r '.[] | select(.type == "dir") | .name' | wc -l)
echo "$subfolder_count"
}
#########################################################################
################################### Ask Questions #######################
#########################################################################
function questions_theme_select() {
local owner="sabamdarif"
local repo="termux-desktop"
local main_folder="patch/xfce"
local subfolder_count_value=$(count_subfolders "$owner" "$repo" "$main_folder")
if [ -n "$subfolder_count_value" ]; then
echo "${R} [${W}-${R}]${G}Check the xfce styles section in github"${W}
echo
echo "${R} [${W}-${R}]${B}https://github.com/sabamdarif/termux-desktop/blob/main/xfce_styles.md"${W}
echo
echo "${R} [${W}-${R}]${G}Number of avilable styles for xfce is: ${C}${subfolder_count_value}"${W}
local style_answer
while true; do
read -p "${R} [${W}-${R}]${Y}Type number of the style you want to install (Default 1): "${W} style_answer
style_answer=${style_answer:-1}
if [ "$style_answer" -gt 0 ] && [ "$style_answer" -le "$subfolder_count_value" ]; then
break
else
echo "${R}The entered style number is incorrect."${W}
echo
echo "${R} [${W}-${R}]${Y}Please enter a number between 1 to ${subfolder_count_value}"${W}
echo
echo "${R} [${W}-${R}]${G}Check the xfce styles section in github"${W}
echo
echo "${R} [${W}-${R}]${B}https://github.com/sabamdarif/termux-desktop/blob/main/xfce_styles.md"${W}
echo
fi
done
else
echo "Failed to retrieve subfolder count."
fi
}
function questions() {
# banner
# echo "${R} [${W}-${R}]${G}Select Desktop Environment"${W}
# echo
# echo "${Y}1. XFCE"${W}
# echo
# echo "${Y}2. LXQT"${W}
# echo
# read -p "${Y}select an option (Default 1): "${W} desktop_answer
# echo
banner
questions_theme_select
banner
echo "${R} [${W}-${R}]${G}Select browser you want to install"${W}
echo
echo "${Y}1. firefox"${W}
echo
echo "${Y}2. chromium"${W}
echo
echo "${Y}3. firefox & chromium (both)"${W}
echo
echo "${Y}4. Skip"${W}
echo
read -p "${Y}select an option (Default 1): "${W} browser_answer
banner
echo "${R} [${W}-${R}]${G}Select IDE you want to install"${W}
echo
echo "${Y}1. VS Code"${W}
echo
echo "${Y}2. Geany (lightweight IDE)"${W}
echo
echo "${Y}3. Vlc & Audacious (both)"${W}
echo
echo "${Y}4. Skip"${W}
echo
read -p "${Y}select an option (Default 1): "${W} ide_answer
banner
echo "${R} [${W}-${R}]${G}Select Media Player you want to install"${W}
echo
echo "${Y}1. Vlc"${W}
echo
echo "${Y}2. Audacious"${W}
echo
echo "${Y}3. Vlc & Audacious (both)"${W}
echo
echo "${Y}4. Skip"${W}
echo
read -p "${Y}select an option (Default 1): "${W} player_answer
banner
echo "${R} [${W}-${R}]${G}Select Photo Editor"${W}
echo
echo "${Y}1. Gimp"${W}
echo
echo "${Y}2. Inkscape"${W}
echo
echo "${Y}3. Gimp & Inkscape (both)"${W}
echo
echo "${Y}4. Skip"${W}
echo
read -p "${Y}select an option (Default 1): "${W} photo_editor_answer
banner
read -p "${R} [${W}-${R}]${Y}Do you want to install a graphical package manager [Synaptic] (y/n) "${W} synaptic_answer
banner
echo "${R} [${W}-${R}]${G} By Default it only add 4 - 5 wallpaper"${W}
echo
read -p "${R} [${W}-${R}]${Y}Do you want to add some more wallpaper (y/n) "${W} ext_wall_answer
banner
echo "${R}[${W}-${R}]${G}Do you want to install wine in termux ${C}(without proot-distro)"${W}
echo
echo "${Y}1. Natively ${C}(can run only arm64 based exe) (Default)"${W}
echo
echo "${Y}2. Using Mobox ${C}(best)"${W}
echo
echo "${R}[${W}-${R}]${B}Know More About Mobox:- https://github.com/olegos2/mobox/"${W}
echo
echo "${Y}3. Skip"${W}
echo
read -p "${R}[${W}-${R}]${Y}Select Wine Installation Method: "${W} wine_answer
banner
read -p "${R} [${W}-${R}]${Y}Do you want to Setting Up Zsh (y/n) "${W} zsh_answer
banner
read -p "${R} [${W}-${R}]${Y}Do you want to Setting Up termux-x11 ${C}(Rcomended) ${Y}(y/n) "${W} tx11_answer
banner
echo "${R} [${W}-${R}]${Y}Do you want to add a distro container (proot distro)"${W}
echo
echo "${R} [${W}-${R}]${G} It will help you to install those app which are not avilable in termux"${W}
echo
echo "${R} [${W}-${R}]${C}You can launch those installed apps from termux like other apps"${W}
echo
read -p "${R} [${W}-${R}]${Y}Do you want to continue (y/n) "${W} distro_add_answer
}
#########################################################################
########### Update System And Install Required Packages Repo ############
#########################################################################
function update_sys() {
banner
echo "${R} [${W}-${R}]${G}Updating System...."${W}
echo
pkg update -y
pkg upgrade -y
}
function install_required_packages() {
banner
echo "${R} [${W}-${R}]${Y} Installling required packages..."${W}
echo
packs=(wget jq curl nala pulseaudio x11-repo tur-repo)
for pack_name in "${packs[@]}"; do
package_install_and_check "$pack_name"
done
update_sys
}
function install_desktop() {
banner
echo "${R} [${W}-${R}]${G} Installing Xfce4 Desktop"${W}
echo
pkg install xfce4 xfce4-goodies virglrenderer-android xwayland kvantum -y
}
#########################################################################
############################### Theme Installer #########################
#########################################################################
function theme_installer() {
banner
echo "${R} [${W}-${R}]${G} Setting Up Theme: ${C} ${style_answer}"${W}
echo
sleep 3
banner
echo "${R} [${W}-${R}]${G} Setting Up Wallpapers..."${W}
echo
check_and_create_directory "$PREFIX/share/backgrounds/"
download_and_extract "https://raw.githubusercontent.com/sabamdarif/termux-desktop/main/patch/xfce/look_${style_answer}/wallpaper.tar.gz" "$PREFIX/share/backgrounds/"
banner
check_and_create_directory ".icons"
download_and_extract "https://raw.githubusercontent.com/sabamdarif/termux-desktop/main/patch/xfce/look_${style_answer}/icon.tar.gz" "$HOME/.icons"
echo "${R} [${W}-${R}]${G} Installing Theme..."${W}
echo
check_and_create_directory ".themes"
download_and_extract "https://raw.githubusercontent.com/sabamdarif/termux-desktop/main/patch/xfce/look_${style_answer}/theme.tar.gz" "$HOME/.themes"
echo "${R} [${W}-${R}]${G} Making Additional Configuration..."${W}
echo
check_and_create_directory ".config"
config_dirs=(autostart cairo-dock dconf gtk-3.0 Mousepad pulse Thunar menu ristretto rofi xfce4)
for the_config_dir in "${config_dirs[@]}"; do
check_and_backup ".config/$the_config_dir"
done
download_and_extract "https://raw.githubusercontent.com/sabamdarif/termux-desktop/main/patch/xfce/look_${style_answer}/config.tar.gz" "$HOME/.config/"
}
#########################################################################
########################### Install Additional Packages #################
#########################################################################
function additional_required_package_installler() {
banner
echo "${R} [${W}-${R}]${G} Installing Additional Packages If Required..."${W}
echo
if [ "$style_answer" == "2" ]; then
pkg install fluent-icon-theme -y
package_install_and_check "cairo-dock-core"
package_install_and_check "vala-panel-appmenu"
package_install_and_check "rofi"
else
echo "${G} No Additional Packages Required For Theme: ${style_answer}"${W}
sleep 1
fi
}
#########################################################################
################# Setup Selected Style And Wallpapers ###################
#########################################################################
function setup_config() {
banner
echo "${R} [${W}-${R}]${G} Setting Up Xfce Style: ${C}${style_answer}${W}"
echo
banner
cd ~
if [[ ${style_answer} =~ ^[1-9][0-9]*$ ]]; then
additional_required_package_installler
theme_installer
else
style_answer="1"
theme_installer
fi
if [ "$ext_wall_answer" = "y" ]; then
echo "${R} [${W}-${R}]${G} Setting Up Some Extra Wallpapers..."${W}
echo
check_and_create_directory "$PREFIX/share/backgrounds/"
download_and_extract "https://archive.org/download/wallpaper-extra.tar/wallpaper-extra.tar.gz" "$PREFIX/share/backgrounds/"
fi
}
function setup_folder() {
banner
echo "${R} [${W}-${R}] ${G}Setting Up Storage..."${W}
echo
while true; do
termux-setup-storage
sleep 4
if [ -d ~/storage ]; then
break
else
echo "${R}Storage permission denied"${W}
fi
sleep 3
done
cd $HOME
directories=(Desktop Music Downloads Pictures Videos)
for dir in "${directories[@]}"; do
check_and_create_directory "$dir"
check_and_create_directory "/sdcard/$dir"
done
ln -s "/sdcard/Music" "Music"
ln -s "/sdcard/Download" "Downloads"
ln -s "/sdcard/Pictures" "Pictures"
ln -s "/sdcard/Videos" "Videos"
}
#########################################################################
########################### Proot Distro Setup ##########################
#########################################################################
function distro_container_setup() {
if [ "$distro_add_answer" = "y" ]; then
banner
echo "${R} [${W}-${R}]${G}Setting Up Distro Container"${W}
echo
wget https://raw.githubusercontent.com/sabamdarif/termux-desktop/main/distro-container-setup ; chmod +x distro-container-setup ; ./distro-container-setup
fi
}
#########################################################################
################ Add Vnc And Termux:x11 Launch Scripts ##################
#########################################################################
function setup_vnc() {
banner
echo "${R} [${W}-${R}]${G} Setting Up Vnc..."${W}
echo
package_install_and_check "tigervnc"
package_install_and_check "xorg-xhost"
check_and_create_directory ".vnc"
check_and_delete "$HOME/.vnc/xstartup"
cat << EOF > "$HOME/.vnc/xstartup"
startxfce4 &
EOF
chmod +x "$HOME/.vnc/xstartup"
check_and_delete "$PREFIX/bin/vncstart"
cat <<EOF > "$PREFIX/bin/vncstart"
vncserver -geometry 1920x1080
EOF
chmod +x "$PREFIX/bin/vncstart"
check_and_delete "$PREFIX/bin/vncstop"
cat <<EOF > "$PREFIX/bin/vncstop"
if [ "\$1" = "-f" ]; then
pkill Xtigervnc
else
vncserver -kill :1
fi
rm -rf \$HOME/.vnc/localhost:*.pid
rm -rf \$PREFIX/tmp/.X1-lock
rm -rf \$PREFIX/tmp/.X11-unix/X1
EOF
chmod +x "$PREFIX/bin/vncstop"
}
function gui_launcher() {
if [ "$tx11_answer" = "y" ]; then
banner
echo "${R} [${W}-${R}]${G}Setting Up Termux:X11 "${W}
echo
package_install_and_check "termux-x11-nightly"
cat <<'EOF' > "$PREFIX/bin/tx11start"
#!/data/data/com.termux/files/usr/bin/bash
MESA_NO_ERROR=1 MESA_GL_VERSION_OVERRIDE=4.3COMPAT MESA_GLES_VERSION_OVERRIDE=3.2 virgl_test_server_android --angle-gl & > /dev/null 2>&1
sleep 1
XDG_RUNTIME_DIR=${TMPDIR} termux-x11 :1.0 &
sleep 1
am start --user 0 -n com.termux.x11/com.termux.x11.MainActivity > /dev/null 2>&1
sleep 1
env DISPLAY=:1.0 GALLIUM_DRIVER=virpipe dbus-launch --exit-with-session xfce4-session & > /dev/null 2>&1
sleep 5
process_id=$(ps -aux | grep '[x]fce4-screensaver' | awk '{print $2}')
kill "$process_id" > /dev/null 2>&1
EOF
chmod +x $PREFIX/bin/tx11start
cat <<'EOF' > "$PREFIX/bin/tx11stop"
termux_x11_pid=$(pgrep -f "/system/bin/app_process / com.termux.x11.Loader :1.0")
xfce_pid=$(pgrep -f "xfce4-session")
if [ -n "$termux_x11_pid" ] && [ -n "$xfce_pid" ]; then
kill -9 "$termux_x11_pid" "$xfce_pid"
fi
EOF
chmod +x $PREFIX/bin/tx11stop
sed -i '12s/^#//' $HOME/.termux/termux.properties
check_and_delete "$PREFIX/bin/gui"
cat << EOF > "$PREFIX/bin/gui"
#!/data/data/com.termux/files/usr/bin/bash
if [ "\$1" = "-start" ]; then
vncstart
elif [ "\$1" = "-stop" ]; then
vncstop
elif [ "\$1" = "-tx11" ]; then
tx11start
elif [ "\$1" = "-kill" ]; then
tx11stop
fi
EOF
chmod +x "$PREFIX/bin/gui"
fi
}
#########################################################################
########################### Install Browser #############################
#########################################################################
function browser_installer() {
banner
if [[ ${browser_answer} == "1" ]]; then
echo "${R} [${W}-${R}]${G} Installing Firefox..."${W}
echo
package_install_and_check "firefox"
elif [[ ${browser_answer} == "2" ]]; then
echo "${R} [${W}-${R}]${G} installing Chromium..."${W}
echo
package_install_and_check "chromium"
elif [[ ${browser_answer} == "3" ]]; then
echo "${R} [${W}-${R}]${G} Installing Firefox..."${W}
echo
package_install_and_check "firefox"
echo "${R} [${W}-${R}]${G} installing Chromium..."${W}
echo
package_install_and_check "chromium"
elif [[ ${browser_answer} == "4" ]]; then
echo "${R} [${W}-${R}]${C} Skipping Browser Installation..."${W}
echo
sleep 2
else
echo "${R} [${W}-${R}]${G} Installing Firefox..."${W}
echo
package_install_and_check "firefox"
fi
}
#########################################################################
############################## Install Ide ##############################
#########################################################################
function ide_installer() {
banner
if [[ ${ide_answer} == "1" ]]; then
echo "${R} [${W}-${R}]${G} Installing Vs Code(Code-Oss)..."${W}
echo
sleep 1
package_install_and_check "code-oss"
elif [[ ${ide_answer} == "2" ]]; then
echo "${R} [${W}-${R}]${G} installing Geany..."${W}
echo
package_install_and_check "geany"
elif [[ ${ide_answer} == "3" ]]; then
echo "${R} [${W}-${R}]${G} Installing Vs Code(Code-Oss)..."${W}
echo
sleep 1
package_install_and_check "code-oss"
echo "${R} [${W}-${R}]${G} installing Geany..."${W}
echo
package_install_and_check "geany"
elif [[ ${ide_answer} == "4" ]]; then
echo "${R} [${W}-${R}]${C} Skipping Ide Installation..."${W}
echo
sleep 2
else
echo "${R} [${W}-${R}]${Y} Installing Vs Code(Code-Oss)..."${W}
echo
sleep 1
package_install_and_check "code-oss"
fi
}
#########################################################################
######################### Install Media Player ##########################
#########################################################################
function media_player_installer() {
banner
if [[ ${player_answer} == "1" ]]; then
echo "${R} [${W}-${R}]${G} Installing Vlc..."${W}
echo
package_install_and_check "vlc-qt-static"
package_install_and_check "vlc-qt"
elif [[ ${player_answer} == "2" ]]; then
echo "${R} [${W}-${R}]${G} installing Audacious..."${W}
echo
package_install_and_check "audacious"
elif [[ ${player_answer} == "3" ]]; then
echo "${R} [${W}-${R}]${G} Installing Vlc..."${W}
echo
package_install_and_check "vlc-qt-static/x11 vlc-qt/x11"
echo "${R} [${W}-${R}]${G} installing Audacious..."${W}
echo
package_install_and_check "audacious"
elif [[ ${player_answer} == "4" ]]; then
echo "${R} [${W}-${R}]${C} Skipping Media Player Installation..."${W}
echo
sleep 2
else
echo "${R} [${W}-${R}]${G} Installing Vlc..."${W}
echo
package_install_and_check "vlc-qt-static"
package_install_and_check "vlc-qt"
fi
}
#########################################################################
######################## Install Photo Editor ###########################
#########################################################################
function photo_editor_installer() {
banner
if [[ ${photo_editor_answer} == "1" ]]; then
echo "${R} [${W}-${R}]${G} Installing GIMP..."${W}
echo
package_install_and_check "gimp"
elif [[ ${photo_editor_answer} == "2" ]]; then
echo "${R} [${W}-${R}]${G} installing Inkscape..."${W}
echo
package_install_and_check "inkscape"
elif [[ ${photo_editor_answer} == "3" ]]; then
echo "${R} [${W}-${R}]${G} Installing GIMP..."${W}
echo
package_install_and_check "gimp"
echo "${R} [${W}-${R}]${G} installing Inkscape..."${W}
echo
package_install_and_check "inkscape"
elif [[ ${photo_editor_answer} == "4" ]]; then
echo "${R} [${W}-${R}]${C} Skipping Photo Editor Installation..."${W}
echo
sleep 2
else
echo "${R} [${W}-${R}]${G} Installing GIMP..."${W}
echo
package_install_and_check "gimp"
fi
}
#########################################################################
####################### Install Software Manager ########################
#########################################################################
function setup_synaptic() {
banner
if [ "$synaptic_answer" == "y" ]; then
echo "${R} [${W}-${R}]${G}Installing Synaptic Graphical Package Manager..."${W}
echo
package_install_and_check "synaptic"
else
echo "${R} [${W}-${R}]${C}Canceling Synaptic Setup.."${W}
echo
sleep 1.5
fi
}
#########################################################################
############################## Setup Zsh ################################
#########################################################################
function setup_zsh() {
banner
if [ "$zsh_answer" == "n" ]; then
echo "${R} [${W}-${R}]${C}Canceling Zsh Setup..."${W}
sleep 1.5
shell_name="bash"
else
shell_name="zsh"
echo "${R} [${W}-${R}]${G}Setting Up Zsh.."${W}
echo
package_install_and_check "zsh"
package_install_and_check "git"
wget https://raw.githubusercontent.com/sabamdarif/short-linux-scripts/main/install-zsh.sh && bash install-zsh.sh
fi
}
function add_shell_shortcut() {
cat <<EOF >> "$HOME/.${shell_name}rc"
alias apt='nala \$@'
alias pkg='nala \$@'
EOF
termux-reload-settings
sleep 2
}
#########################################################################
############################ Install Wine ###############################
#########################################################################
function setup_wine() {
banner
if [ "$wine_answer" == "1" ]; then
echo "${R} [${W}-${R}]${G}Installing Wine Natively In Termux"${W}
echo
package_install_and_check "wine-staging"
package_install_and_check "winetricks"
elif [ "$wine_answer" == "2" ]; then
echo "${R} [${W}-${R}]${G}Using Mobox To Install Wine In Termux"${W}
echo
echo "${R} [${W}-${R}]${G}Using Mobox To Install Wine In Termux"${W}
echo
curl -s -o ~/x https://raw.githubusercontent.com/olegos2/mobox/main/install && . ~/x
else
echo "${R} [${W}-${R}]${G}Installing Wine Natively In Termux"${W}
echo
package_install_and_check "wine-staging"
package_install_and_check "winetricks"
fi
}
#########################################################################
################################ Notes ##################################
#########################################################################
function notes() {
banner
echo "${R} [${W}-${R}]${G}Installation Successfull..."${W}
echo
sleep 2
echo "${R} [${W}-${R}]${C}Now Restart Termux ${G}(Must)"${W}
echo
echo "${R} [${W}-${R}]${C}See Uses Section in github to know how to use it"${W}
echo
echo "${R} [${W}-${R}]${C}URL:- ${B}https://github.com/sabamdarif/termux-desktop/blob/main/README.md#usage"${W}
if [ "$distro_add_answer" = "y" ]; then
echo "${R} [${W}-${R}]${C}See hoe to use distro container"${W}
echo
echo "${R} [${W}-${R}]${C}URL:- ${B}https://github.com/sabamdarif/termux-desktop/blob/main/proot-caontainer.md"${W}
fi
}
update_sys
install_required_packages
questions
setup_folder
setup_zsh
add_shell_shortcut
install_desktop
browser_installer
ide_installer
media_player_installer
photo_editor_installer
setup_synaptic
setup_wine
setup_config
setup_vnc
gui_launcher
distro_container_setup
notes