selected=""
function package_manage () {
- while true; do
+ while true; do
- clear
+ clear
echo " ┌──────────────────┐ "
echo " │ [Package manage] │"
echo " ├──────────────────┴─────────────────────────────┐"
echo " └────────────────────────────────────────────────┘"
echo -n " [select] > "
- read -n1 selected
- echo ""
- if [[ ${selected} == "0" ]]; then
- return
- fi
-
- if [[ ${selected} != "1" ]]; then
- local package_name
- echo -n " [packages name] > "
- read package_name
- if [[ ${package_name} == "0" ]]; then
- return
- fi
- fi
-
-
- echo ""
- case ${selected} in
- 0) return ;;
- 1) sudo pacman -Syu ;;
- 2) pacman -Ss ${package_name} ;;
- 3) sudo pacman -Sy ${package_name} ;;
- 4) sudo pacman -R ${package_name} ;;
- esac
- echo "Completed"
- echo "Press any key to continue..."
- read -n1 selected
-
- done
+ read -n1 selected
+ echo ""
+ if [[ ${selected} == "0" ]]; then
+ return
+ fi
+
+ if [[ ${selected} != "1" ]]; then
+ local package_name
+ echo -n " [packages name] > "
+ read package_name
+ if [[ ${package_name} == "0" ]]; then
+ return
+ fi
+ fi
+
+
+ echo ""
+ case ${selected} in
+ 0) return ;;
+ 1) sudo pacman -Syu ;;
+ 2) pacman -Ss ${package_name} ;;
+ 3) sudo pacman -Sy ${package_name} ;;
+ 4) sudo pacman -R ${package_name} ;;
+ esac
+ echo "Completed"
+ echo "Press any key to continue..."
+ read -n1 selected
+
+ done
}
function time_settings () {
- while true; do
+ while true; do
- clear
+ clear
echo " ┌─────────────────┐ "
echo " │ [Time Settings] │"
echo " ├─────────────────┴─────────────────────────────────┐"
echo " └───────────────────────────────────────────────────┘"
echo -n " [select] > "
- read -n1 selected
-
- if [[ ${selected} == "4" ]]; then
- echo -n "Enable to NTP? [y/n]: "
- while true; do
- local ntp
- read -n1 ntp
- [[ ${ntp} == "y" || ${ntp} == "n" ]] && exit 0
- done
- fi
-
-
- echo ""
- case ${selected} in
- 0) return ;;
- 1) tzselect ;;
- 2) ntpdate ;;
- 3) hwclock --systohc --local ;;
- 4) timedatectl set-ntp ${ntp} ;;
- esac
- echo ""
-
- done
+ read -n1 selected
+
+ if [[ ${selected} == "4" ]]; then
+ echo -n "Enable to NTP? [y/n]: "
+ while true; do
+ local ntp
+ read -n1 ntp
+ [[ ${ntp} == "y" || ${ntp} == "n" ]] && exit 0
+ done
+ fi
+
+
+ echo ""
+ case ${selected} in
+ 0) return ;;
+ 1) tzselect ;;
+ 2) ntpdate ;;
+ 3) hwclock --systohc --local ;;
+ 4) timedatectl set-ntp ${ntp} ;;
+ esac
+ echo ""
+
+ done
}
function main () {
- clear
+ clear
echo " ┌───────────────┐ "
echo " │ [System Menu] │"
echo " ├───────────────┴──────────────────────────┐"
echo " └──────────────────────────────────────────┘"
echo -n " [select] > "
- read -n1 selected
-
- echo ""
- case ${selected} in
- 0) exit 0 ;;
- 1) arandr ;;
- 2) nmtui ;;
- 3) pavucontrol ;;
- 4) package_manage ;;
- 5) time_settings ;;
- 6) htop ;;
- esac
- echo ""
+ read -n1 selected
+
+ echo ""
+ case ${selected} in
+ 0) exit 0 ;;
+ 1) arandr ;;
+ 2) nmtui ;;
+ 3) pavucontrol ;;
+ 4) package_manage ;;
+ 5) time_settings ;;
+ 6) htop ;;
+ esac
+ echo ""
}
while true; do
- main
+ main
done
+++ /dev/null
-#!/bin/bash
-
-RED='\e[41m'
-BLUE='\e[44m'
-ORANGE='\e[46m'
-NC='\e[0m'
-
-MINFONTSIZE=6
-MAXFONTSIZE=72
-STATUSVAR=1
-CANCELSTATUS=0
-SELECTEDITEM=""
-TEXTEDITOR=$EDITOR
-
-# Service messages section
-CONTINMSG="$BLUE Press any key to continue$NC"
-ERRORMSG="$RED Wrong.$NC"
-TRYAGAINMSG="$RED Press any key and try again$NC"
-CURRENTPREFIXMSG="(current: "
-CURRENTSUFFIXMSG="):"
-AVAILABLETHEMESMSG="Available themes "
-PS31MSG="Choose new gtk2 theme:"
-PS32MSG="Choose new gtk3 theme:"
-PS33MSG="Choose new icon theme:"
-PS34MSG="Choose new pointer theme:"
-SETTINGGTK2THEMEMSG='Setting theme to %s'
-SETTINGGTK3THEMEMSG='Setting theme to %s'
-SETTINGICONTHEMEMSG='Setting theme to %s'
-SETTINGPOINTERTHMSG='Setting theme to %s'
-GTK2THEMEPREFIXMSG="GTK2 theme "
-GTK3THEMEPREFIXMSG="GTK3 theme "
-ICONTHEMEPREFIXMSG="Icon theme "
-POINTERTHPREFIXMSG="Pointer theme "
-FONTSETPREFIXMSG="Font "
-FONTSIZESETMSG=" with size "
-FONTSIZEERRMSG="$RED Value is out of range$NC"
-SELECTEDFONTMSG="Selected font is: "
-INPUTFONTSIZEMSG="Input font size value in range from $MINFONTSIZE to $MAXFONTSIZE or just press Escape to discard changes"
-SELECTFONTSIZEMSG="Select font size value "
-CHOOSEFONTPROMPTMSG="Choose new font to use "
-SETSUFFIXMSG=" was set successfully"
-TOGGLEDARKTHEMEMSG="Done"
-
-if ! [ -f "$HOME/.gtkrc-2.0" ]; then
- cat > $HOME/.gtkrc-2.0 <<EOL
-include "$HOME/.gtkrc-2.0.mine"
-gtk-theme-name="Adwaita"
-gtk-icon-theme-name="Adwaita"
-gtk-font-name="DejaVu Sans 12"
-gtk-cursor-theme-name="Adwaita"
-gtk-cursor-theme-size=18
-gtk-toolbar-style=GTK_TOOLBAR_ICONS
-gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
-gtk-button-images=1
-gtk-menu-images=0
-gtk-enable-event-sounds=0
-gtk-enable-input-feedback-sounds=0
-gtk-xft-antialias=1
-gtk-xft-hinting=1
-gtk-xft-hintstyle="hintmedium"
-gtk-xft-rgba="none"
-EOL
-fi
-
-if ! [ -f "$HOME/.config/gtk-3.0/settings.ini" ]; then
- cat > $HOME/.config/gtk-3.0/settings.ini <<EOL
-[Settings]
-gtk-application-prefer-dark-theme=1
-gtk-theme-name=Adwaita
-gtk-icon-theme-name=Adwaita
-gtk-font-name=DejaVu Sans 12
-gtk-cursor-theme-name=Adwaita
-gtk-cursor-theme-size=18
-gtk-toolbar-style=GTK_TOOLBAR_ICONS
-gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
-gtk-button-images=1
-gtk-menu-images=0
-gtk-enable-event-sounds=0
-gtk-enable-input-feedback-sounds=0
-gtk-xft-antialias=1
-gtk-xft-hinting=1
-gtk-xft-hintstyle=hintmedium
-gtk-xft-rgba=none
-gtk-decoration-layout=:menu,appmenu,close
-EOL
-fi
-
-if ! [ -f "$HOME/.icons/default/index.theme" ]; then
- mkdir -r $HOME/.icons/default/
- cat > $HOME/.icons/default/index.theme <<EOL
-# This file is written by LXAppearance. Do not edit.
-[Icon Theme]
-Name=Default
-Comment=Default Cursor Theme
-Inherits=Adwaita
-EOL
-fi
-
-function pressanykeyrequest {
- echo -e "$CONTINMSG"
- read -s -n1
- STATUSVAR=1
-}
-
-function current_item_get {
- cig_input="$@"
- CURRENTITEM=""
- case $cig_input in
- gtk2theme)
- CURRENTITEM=$(cat $HOME/.gtkrc-2.0 | grep -Po 'gtk-theme-name="\K[^"]*')
- echo "$CURRENTITEM"
- ;;
- gtk3theme)
- CURRENTITEM=$(cat $HOME/.config/gtk-3.0/settings.ini | grep -Po 'gtk-theme-name=\K.*')
- echo "$CURRENTITEM"
- ;;
- icontheme)
- CURRENTITEM=$(cat $HOME/.config/gtk-3.0/settings.ini | grep -Po 'gtk-icon-theme-name=\K.*')
- echo "$CURRENTITEM"
- ;;
- pointertheme)
- CURRENTITEM=$(cat $HOME/.config/gtk-3.0/settings.ini | grep -Po 'gtk-cursor-theme-name=\K.*')
- echo "$CURRENTITEM"
- ;;
- gtkfontsize)
- CURRENTITEM=$(cat $HOME/.config/gtk-3.0/settings.ini | grep -Po 'gtk-font-name=\K.*' | grep -Po '\t*\s*\K[0-9]{1,2}')
- echo "$CURRENTITEM"
- ;;
- gtkfontname)
- CURRENTITEM=$(cat $HOME/.config/gtk-3.0/settings.ini | grep -Po 'gtk-font-name=\K.*' | grep -Po '.*[^0-9]{1,2}' | sed 's/[[:blank:]]*$//')
- echo "$CURRENTITEM"
- esac
- return 0
-}
-
-function set_gtk2_theme {
- new_theme="$@"
- cp $HOME/.gtkrc-2.0 $HOME/.gtkrc-2.0.bak && sed -i "s/$(grep "gtk-theme-name" $HOME/.gtkrc-2.0)/gtk-theme-name=\"$new_theme\"/g" $HOME/.gtkrc-2.0
- STATUSVAR=$?
- return $STATUSVAR
-}
-
-function choose_gtk2_theme {
- CURRENTITEM=$(current_item_get "gtk2theme")
- echo "$AVAILABLETHEMESMSG$CURRENTPREFIXMSG$CURRENTITEM$CURRENTSUFFIXMSG"
- PS3="$PS31MSG"
- CANCELSTATUS=0
- SELECTEDITEM=""
- # Gather the results in an array.
- gtk2_themes=($(find /usr/share/themes -type d -name "gtk-2.0" | awk -F'/' '{print $5}') "cancel")
-
- select pick in "${gtk2_themes[@]}"
- do
- case $pick in
- cancel)
- CANCELSTATUS=1
- break
- ;;
- *)
- picks+=("$pick")
- break
- ;;
- esac
- done
-
- if [ $CANCELSTATUS -eq 1 ]; then
- echo ""
- else
- if [[ $picks ]]; then
- printf "$SETTINGGTK2THEMEMSG" "${picks[*]}"
- SELECTEDITEM="${picks[@]}"
- set_gtk2_theme $SELECTEDITEM
- picks=()
- fi
- fi
- return $STATUSVAR
-}
-
-function set_gtk3_theme {
- new_theme="$@"
- cp $HOME/.config/gtk-3.0/settings.ini $HOME/.config/gtk-3.0/settings.ini.bak && sed -i "s/$(grep "gtk-theme-name" $HOME/.config/gtk-3.0/settings.ini)/gtk-theme-name=$new_theme/g" $HOME/.config/gtk-3.0/settings.ini
- STATUSVAR=$?
- return $STATUSVAR
-}
-
-function choose_gtk3_theme {
- CURRENTITEM=$(current_item_get "gtk3theme")
- echo "$AVAILABLETHEMESMSG$CURRENTPREFIXMSG$CURRENTITEM$CURRENTSUFFIXMSG"
- PS3="$PS32MSG"
- CANCELSTATUS=0
- SELECTEDITEM=""
- # Gather the results in an array.
- gtk3_themes=($(find /usr/share/themes -type d -name "gtk-3.0" | awk -F'/' '{print $5}') "cancel")
-
- select pick in "${gtk3_themes[@]}"
- do
- case $pick in
- cancel)
- CANCELSTATUS=1
- break
- ;;
- *)
- picks+=("$pick")
- break
- ;;
- esac
- done
-
- if [ $CANCELSTATUS -eq 1 ]; then
- echo ""
- else
- if [[ $picks ]]; then
- printf "$SETTINGGTK3THEMEMSG" "${picks[*]}"
- SELECTEDITEM="${picks[@]}"
- set_gtk3_theme $SELECTEDITEM
- picks=()
- fi
- fi
- return $STATUSVAR
-}
-
-function set_icon_theme {
- new_theme="$@"
- cp $HOME/.config/gtk-3.0/settings.ini $HOME/.config/gtk-3.0/settings.ini.bak && sed -i "s/$(grep "gtk-icon-theme-name" $HOME/.config/gtk-3.0/settings.ini)/gtk-icon-theme-name=$new_theme/g" $HOME/.config/gtk-3.0/settings.ini
- cp $HOME/.gtkrc-2.0 $HOME/.gtkrc-2.0.bak && sed -i "s/$(grep "gtk-icon-theme-name" $HOME/.gtkrc-2.0)/gtk-icon-theme-name=\"$new_theme\"/g" $HOME/.gtkrc-2.0
- STATUSVAR=$?
- return $STATUSVAR
-}
-
-function choose_icon_theme {
- CURRENTITEM=$(current_item_get "icontheme")
- echo "$AVAILABLETHEMESMSG$CURRENTPREFIXMSG$CURRENTITEM$CURRENTSUFFIXMSG"
- PS3="$PS33MSG"
- CANCELSTATUS=0
- SELECTEDITEM=""
- # Gather the results in an array.
- icon_themes=($(find /usr/share/icons -type f -name "index.theme" | awk -F'/' '{print $5}') "cancel")
-
- select pick in "${icon_themes[@]}"
- do
- case $pick in
- cancel)
- CANCELSTATUS=1
- break
- ;;
- *)
- picks+=("$pick")
- break
- ;;
- esac
- done
-
- if [ $CANCELSTATUS -eq 1 ]; then
- echo ""
- else
- if [[ $picks ]]; then
- printf "$SETTINGICONTHEMEMSG" "${picks[*]}"
- SELECTEDITEM="${picks[@]}"
- set_icon_theme $SELECTEDITEM
- picks=()
- fi
- fi
- return $STATUSVAR
-}
-
-function set_pointer_theme {
- new_theme="$@"
- cp $HOME/.icons/default/index.theme $HOME/.icons/default/index.theme.bak && sed -i "s/$(grep "Inherits" $HOME/.icons/default/index.theme)/Inherits=$new_theme/g" $HOME/.icons/default/index.theme
- cp $HOME/.config/gtk-3.0/settings.ini $HOME/.config/gtk-3.0/settings.ini.bak && sed -i "s/$(grep "gtk-cursor-theme-name" $HOME/.config/gtk-3.0/settings.ini)/gtk-cursor-theme-name=$new_theme/g" $HOME/.config/gtk-3.0/settings.ini
- cp $HOME/.gtkrc-2.0 $HOME/.gtkrc-2.0.bak && sed -i "s/$(grep "gtk-cursor-theme-name" $HOME/.gtkrc-2.0)/gtk-cursor-theme-name=\"$new_theme\"/g" $HOME/.gtkrc-2.0
- STATUSVAR=$?
- return $STATUSVAR
-}
-
-function choose_pointer_theme {
- CURRENTITEM=$(current_item_get "pointertheme")
- echo "$AVAILABLETHEMESMSG$CURRENTPREFIXMSG$CURRENTITEM$CURRENTSUFFIXMSG"
- PS3="$PS34MSG"
- CANCELSTATUS=0
- SELECTEDITEM=""
- # Gather the results in an array.
- pointer_themes=($(find /usr/share/icons -type d -name "cursors" | awk -F'/' '{print $5}' | sed 's/-Cursor//g') "cancel")
-
- select pick in "${pointer_themes[@]}"
- do
- case $pick in
- cancel)
- CANCELSTATUS=1
- break
- ;;
- *)
- picks+=("$pick")
- break
- ;;
- esac
- done
-
- if [ $CANCELSTATUS -eq 1 ]; then
- echo ""
- else
- if [[ $picks ]]; then
- printf "$SETTINGPOINTERTHMSG" "${picks[*]}"
- SELECTEDITEM="${picks[@]}"
- set_pointer_theme $SELECTEDITEM
- picks=()
- fi
- fi
- return $STATUSVAR
-}
-
-function numberinputprocedure {
- font_family="$SELECTEDITEM"
- numberstring=""
- number=0
- schar=""
- # This function checks font family and tries to find
- # fonts with fixed pixel size value using fc-cat command.
- # fc-cat output is huge and can be used in other procedures.
- # If we found nothing user should enter font size manually
- # because selected font is a size scalable one.
- # If we found pixelsize items for selected font
- # user selects size in range of these items.
- CURRENTITEM=$(current_item_get "gtkfontsize")
- fccatmsggrep=""
- fccatmsggrep=$(fc-cat -r 2> /dev/null | grep "\"$font_family" | grep -o "pixelsize=[0-9][0-9]*" | grep -o "[0-9][0-9]*")
- if [ "$fccatmsggrep" != "" ]; then
- numberstring=$(echo "$fccatmsggrep" | sort -n | uniq | fzf -e --reverse --prompt="< $SELECTFONTSIZEMSG$CURRENTPREFIXMSG$CURRENTITEM$CURRENTSUFFIXMSG >")
- if [ "$numberstring" == "" ]; then
- number=0
- return 1
- else
- number=`expr $numberstring + 0`
- return 0
- fi
- else
- echo -e "$INPUTFONTSIZEMSG$CURRENTPREFIXMSG$CURRENTITEM$CURRENTSUFFIXMSG"
- manualnumberinput
- checkfontsize $number
- STATUSVAR=$?
- if [ $STATUSVAR -eq 1 ]; then
- echo ""
- echo -e "$ERRORMSG$FONTSIZEERRMSG"
- pressanykeyrequest
- return 1
- fi
- return 0
- fi
-}
-
-function manualnumberinput {
- while true; do
- read -s -n 1 schar
- case $schar in
- 1|2|3|4|5|6|7|8|9|0)
- numberstring+=$schar
- echo -n "$schar"
- ;;
- $'\000') #Enter
- break
- ;;
- $'\177') #Backspace
- numberstring="${numberstring%?}"
- echo -n -e "\b"
- echo -n " "
- echo -n -e "\b"
- ;;
- $'\e') #Escape
- numberstring="0"
- break
- ;;
- esac
- done
- number=`expr $numberstring + 0`
- return 0
-}
-
-function checkfontsize {
- value="$@"
- if [ $value -lt $MINFONTSIZE ] || [ $value -gt $MAXFONTSIZE ]; then
- return 1
- else
- return 0
- fi
-
-}
-
-function set_font {
- new_theme="$@"
- cp $HOME/.config/gtk-3.0/settings.ini $HOME/.config/gtk-3.0/settings.ini.bak && sed -i "s/$(grep "gtk-font-name" $HOME/.config/gtk-3.0/settings.ini)/gtk-font-name=$new_theme/g" $HOME/.config/gtk-3.0/settings.ini
- cp $HOME/.gtkrc-2.0 $HOME/.gtkrc-2.0.bak && sed -i "s/$(grep "gtk-font-name" $HOME/.gtkrc-2.0)/gtk-font-name=\"$new_theme\"/g" $HOME/.gtkrc-2.0
- STATUSVAR=$?
- return $STATUSVAR
-}
-
-function choose_font {
- new_font=""
- font_size=0
- CURRENTITEM=$(current_item_get "gtkfontname")
- SELECTEDITEM=$(fc-list : family | tr , \\n | sort | uniq | fzf -e --reverse --prompt="< $CHOOSEFONTPROMPTMSG$CURRENTPREFIXMSG$CURRENTITEM$CURRENTSUFFIXMSG >")
- if [ "$SELECTEDITEM" != "" ]; then
- new_font="$SELECTEDITEM"
- echo -e "$SELECTEDFONTMSG$SELECTEDITEM"
- numberinputprocedure
- STATUSVAR=$?
- if [ $STATUSVAR -eq 1 ]; then
- return $STATUSVAR
- else
- font_size=$number
- set_font $new_font $font_size
- return $STATUSVAR
- fi
- fi
- STATUSVAR=1
- return $STATUSVAR
-}
-
-function toggle_dark_theme {
- grep -q "gtk-application-prefer-dark-theme=" $HOME/.config/gtk-3.0/settings.ini || echo "gtk-application-prefer-dark-theme=1" >> $HOME/.config/gtk-3.0/settings.ini
- STATUSVAR=$?
- case $(awk -F= '/gtk-application-prefer-dark-theme/{print $2}' $HOME/.config/gtk-3.0/settings.ini) in
- true) sed -i "s/gtk-application-prefer-dark-theme=true/gtk-application-prefer-dark-theme=false/g" $HOME/.config/gtk-3.0/settings.ini
- ;;
- false) sed -i "s/gtk-application-prefer-dark-theme=false/gtk-application-prefer-dark-theme=true/g" $HOME/.config/gtk-3.0/settings.ini
- ;;
- 1) sed -i "s/gtk-application-prefer-dark-theme=1/gtk-application-prefer-dark-theme=0/g" $HOME/.config/gtk-3.0/settings.ini
- ;;
- 0) sed -i "s/gtk-application-prefer-dark-theme=0/gtk-application-prefer-dark-theme=1/g" $HOME/.config/gtk-3.0/settings.ini
- ;;
- esac
- STATUSVAR+=$?
- return $STATUSVAR
-}
-
-function main {
- while true; do
- clear
- echo ""
- echo -e " ::Appearance:: "
- echo -e " ┌────────────────────────────────────────────────────────────────┐"
- echo -e " │ 1 Set gtk2 theme 2 Set gtk3 theme │"
- echo -e " │ 3 Set font 4 Set icon theme │"
- echo -e " │ 5 Toggle dark theme 6 Set pointer theme │"
- echo -e " │ 7 Edit gtk2 settings 8 Edit gtk3 settings │"
- echo -e " │ 9 Edit Xresources │"
- echo -e " └────────────────────────────────────────────────────────────────┘"
- echo -e " Select an item - 0 Exit "
- echo ""
- read -s -n1 choix
- case $choix in
- 1)
- echo
- choose_gtk2_theme
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo ""
- echo -e "$GTK2THEMEPREFIXMSG$SELECTEDITEM$SETSUFFIXMSG"
- pressanykeyrequest
- fi
- ;;
- 2)
- echo
- choose_gtk3_theme
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo ""
- echo -e "$GTK3THEMEPREFIXMSG$SELECTEDITEM$SETSUFFIXMSG"
- pressanykeyrequest
- fi
- ;;
- 3)
- echo
- choose_font
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo ""
- echo -e "$FONTSETPREFIXMSG$SELECTEDITEM$FONTSIZESETMSG$font_size$SETSUFFIXMSG"
- pressanykeyrequest
- fi
- ;;
- 4)
- echo
- choose_icon_theme
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo ""
- echo -e "$ICONTHEMEPREFIXMSG$SELECTEDITEM$SETSUFFIXMSG"
- pressanykeyrequest
- fi
- ;;
- 5)
- echo
- toggle_dark_theme
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo ""
- echo -e "$TOGGLEDARKTHEMEMSG"
- pressanykeyrequest
- fi
- ;;
- 6)
- echo
- choose_pointer_theme
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo ""
- echo -e "$POINTERTHPREFIXMSG$SELECTEDITEM$SETSUFFIXMSG"
- pressanykeyrequest
- fi
- ;;
- 7)
- echo
- $TEXTEDITOR $HOME/.gtkrc-2.0
- echo ""
- ;;
- 8)
- echo
- $TEXTEDITOR $HOME/.config/gtk-3.0/settings.ini
- echo ""
- ;;
- 9)
- echo
- $TEXTEDITOR $HOME/.Xresources
- echo ""
- ;;
- 0)
- clear && exit
- ;;
- *)
- echo -e "$ERRORMSG$TRYAGAINMSG"
- read -s -n1
- clear
- ;;
- esac
- done
-}
-
-main
+++ /dev/null
-#!/bin/bash
-
-RED='\e[41m'
-BLUE='\e[44m'
-ORANGE='\e[46m'
-NC='\e[0m'
-browser='elinks'
-printers=$(lpstat -p -d | awk '/printer/ {print $2}')
-enabled_printers=$(lpstat -p -d | awk '/enabled/ {print $2}')
-STATUSVAR=1
-
-# Service messages section
-CONTINMSG="$BLUE Press any key to continue$NC"
-ERRORMSG="$RED Wrong.$NC"
-TRYAGAINMSG="$RED Press any key and try again$NC"
-XSANEINSTMSG="Xsane is not installed and pacman seems to be in use"
-SELECTDEFAULTPRINTERMSG="Select new default printer"
-DEFAULTPRINTERSETMSG="The new default printer has been set"
-SELECTFILESFORPRINTMSG="Select the files to print (use TAB to mark files for printing)"
-SELECTPRINTERTOUSEMSG="Select the printer to use"
-SELECTFILESFORPRINTINGMSG="Select the files to print (use TAB to mark files for printing)"
-PRINTINGMSG="Printing now"
-SEARCHINGSCANNERSMSG="Searching for scanners... Select one"
-SELECTDEFAULTSCANNERMSG="Searching for scanners... Select new default"
-IMGFILETYPECHOOSEMSG="Which filetype should be used? "
-NAMEFORSCANNEDFILEMSG="What name shall be given to the scanned file?"
-
-function pressanykeyrequest {
- echo -e "$CONTINMSG"
- read -s -n1
- STATUSVAR=1
-}
-
-function scanner_interface {
- if [ -e /usr/bin/xsane ]; then
- xsane
- STATUSVAR=$?
- else
- if [ - e /var/lib/pacman/db.lck ]; then
- echo "$XSANEINSTMSG"
- STATUSVAR=$?
- else
- sudo pacman -Sy xsane && xsane
- STATUSVAR=$?
- fi
- fi
-return $STATUSVAR
-}
-
-function webinterface {
- $browser http://localhost:631
- STATUSVAR=$?
-return $STATUSVAR
-}
-
-function set_default_printer {
- lpoptions -d $(echo $printers | fzf -e --reverse --prompt="$SELECTDEFAULTPRINTERMSG >")
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo ""
- echo ""
- echo "$DEFAULTPRINTERSETMSG"
- fi
-return $STATUSVAR
-}
-
-function print_file {
- grep -q "Default" ~/.cups/lpoptions && \
- lpr $(fzf -m --reverse --prompt=" $SELECTFILESFORPRINTMSG >") || \
- lpr -P $(echo $printers | fzf -e --reverse --prompt="$SELECTPRINTERTOUSEMSG >") $(fzf -m --reverse --prompt="$SELECTFILESFORPRINTINGMSG >")
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo ""
- echo ""
- echo "$PRINTINGMSG"
- sleep 3
- fi
-return $STATUSVAR
-}
-
-function select_scanner {
- scanimage -L 2> /dev/null | fzf -e --reverse --prompt="$SEARCHINGSCANNERSMSG >" | awk '{print substr($2, 2, length($2) - 2)}'
- STATUSVAR=$?
-return $STATUSVAR
-}
-
-function set_default_scanner {
- default_scanner=$(scanimage -L 2> /dev/null | \
- fzf -e --reverse --prompt="$SELECTDEFAULTSCANNERMSG >" | \
- awk '{print $2} {print substr($2, 2, length($2) - 2)}')
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ] && [ "$default_scanner" != "" ]; then
- echo "export SANE_DEFAULT_DEVICE=$default_scanner" >> $HOME/.profile
- SANE_DEFAULT_DEVICE="$default_scanner"
- fi
-return $STATUSVAR
-}
-
-function select_filetype {
-PS3="$IMGFILETYPECHOOSEMSG"
-# Gather the results in an array.
-filetypes=("pnm" "tiff" "png" "jpeg")
-
-select pick in "${filetypes[@]}"
-do
- case $pick in
- *) echo $pick
- break
- esac
-done
-}
-
-function scan {
- echo "$NAMEFORSCANNEDFILEMSG"
- read filename
- # check file name function needs
- if [ "$filename" != "" ]; then
- eval filetype=$(select_filetype)
- if [ "$filetype" != "" ]; then
- scanner=$(select_scanner)
- if [ "$scanner" != "" ]; then
- scanimage -p -d $scanner --format=$filetype > $filename.$filetype
- STATUSVAR=$?
- else
- STATUSVAR=1
- fi
- else
- STATUSVAR=1
- fi
- else
- STATUSVAR=1
- fi
-return $STATUSVAR
-}
-
-function default_scan {
- echo "$NAMEFORSCANNEDFILEMSG"
- read filename
- # check file name function needs
- if [ "$filename" != "" ]; then
- eval filetype=$(select_filetype)
- if [ "$filetype" != "" ]; then
- scanimage -p --format=$filetype > $filename.$filetype
- STATUSVAR=$?
- else
- STATUSVAR=1
- fi
- else
- STATUSVAR=1
- fi
-return $STATUSVAR
-}
-
-
-function main {
- while true; do
- clear
- echo ""
- echo -e " ::Printers and scanners:: "
- echo -e " ┌─────────────────────────────────────────────────────────────┐"
- echo -e " │ 1 Manage Printers 2 Print files │"
- echo -e " │ 3 Set default printer 4 List printers │"
- echo -e " │ 5 Set default scanner 6 Scan with GUI │"
- echo -e " │ 7 List scanners 8 Scan using defaults │"
- echo -e " └─────────────────────────────────────────────────────────────┘"
- echo -e " Select an item - 0 Exit "
- echo ""
- read -s -n1 choix
- case $choix in
- 1)
- echo
- webinterface
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- pressanykeyrequest
- else
- echo ""
- fi
- ;;
- 2)
- echo
- print_file
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- pressanykeyrequest
- else
- echo ""
- fi
- ;;
- 3)
- echo
- set_scanner
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- pressanykeyrequest
- else
- echo ""
- fi
- ;;
- 4)
- echo
- lpstat -p -d
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- pressanykeyrequest
- else
- echo ""
- fi
- ;;
- 5)
- echo
- set_default_scanner
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- pressanykeyrequest
- else
- echo ""
- fi
- ;;
- 6)
- echo
- scanner_inerface
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- pressanykeyrequest
- else
- echo ""
- fi
- ;;
- 7)
- echo
- scanimage -L 2> /dev/null
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- pressanykeyrequest
- else
- echo ""
- fi
- ;;
- 8)
- echo
- default_scan
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- pressanykeyrequest
- else
- echo ""
- fi
- ;;
- 0)
- clear && exit
- ;;
- *)
- echo -e "$ERRORMSG$TRYAGAINMSG"
- read -s -n1
- clear
- ;;
- esac
- done
-}
-
-main
+++ /dev/null
-#!/bin/bash
-
-RED='\e[41m'
-BLUE='\e[44m'
-ORANGE='\e[46m'
-NC='\e[0m'
-
-# Service messages section
-ERRORMSG="$RED Wrong.$NC"
-TRYAGAINMSG="$RED Press any key and try again$NC"
-INSTALLINGRNG1MSG="Installing ranger to manage files"
-INSTALLINGRNG2MSG="Installing ranger to get a rifle"
-INSTALLINGTIMESETMSG="Installing timeset to manage time"
-INSTALLINGHTOPMSG="Installing htop to manage tasks"
-INSTALLINGBRANDRMSG="Installing brandr to manage display"
-INSTALLINGMHWDTUIMSG="Installing mhwd-tui to manage kernels and drivers"
-CLIFMNOTINSTMSG="No cli filemanager is installed and pacman seems to be in use"
-RIFLENOTINSTMSG="Rifle is not installed and pacman seems to be in use"
-TIMESETNOTINSTMSG="Timeset is not installed and pacman seems to be in use"
-CLIBROWSNOTINSTMSG="No cli browser installed and pacman seems to be in use"
-BRANDRNOTINSTMSG="Brandr is not installed and pacman seems to be in use"
-MHWDTUINOTINSTMSG="Mhwd-tui is not installed and pacman seems to be in use"
-
-if [ $(cat /proc/1/comm) = "systemd" ]; then
- systemctl status NetworkManager.service 2>/dev/null | grep -q " active " && netcommand="nmtui"
- systemctl status Netctl.service 2>/dev/null | grep -q " active " && netcommand="sudo wifi-menu"
- systemctl status systemd-networkd 2>/dev/null | grep -q " active " && netcommand="wpa_tui"
-else
- rc-status | grep -q "NetworkManager" && netcommand="nmtui"
- rc-status | grep -q "Netctl" && netcommand="sudo wifi-menu"
-fi
-
-function cli_filemanager {
- if [ -e /usr/bin/ranger ]; then
- ranger
- elif [ -e /usr/bin/mc ]; then
- mc
- else
- echo "$INSTALLINGRNG1MSG"
- if [ - e /var/lib/pacman/db.lck ]; then
- echo "$CLIFMNOTINSTMSG"
- else
- sudo pacman -Sy ranger && ranger
- fi
- fi
-}
-
-function file_finder {
- if [ -e /usr/bin/rifle ]; then
- rifle $(find -type f | fzf -e --reverse)
- else
- echo "$INSTALLINGRNG2MSG"
- if [ - e /var/lib/pacman/db.lck ]; then
- echo "$RIFLENOTINSTMSG"
- else
- sudo pacman -Sy ranger && rifle $(find -type f | fzf -e --reverse)
- fi
- fi
-}
-
-function manage_time {
- if [ -e /usr/bin/timeset ]; then
- sudo timeset
- else
- echo "$INSTALLINGTIMESETMSG"
- if [ -e /var/lib/pacman/db.lck ]; then
- echo "$TIMESETNOTINSTMSG"
- else
- sudo pacman -Sy timeset && sudo timeset
- fi
- fi
-}
-
-function cli_browser {
- if [ -e /usr/bin/elinks ]; then
- elinks
- elif [ -e /usr/bin/w3m ]; then
- w3m
- elif [ -e /usr/bin/links ]; then
- links
- elif [ -e /usr/bin/lynx ]; then
- lynx
- else
- if [ -e /var/lib/pacman/db.lck ]; then
- echo "$CLIBROWSNOTINSTMSG"
- else
- sudo pacman -Sy elinks && elinks
- fi
- fi
-}
-
-function taskmanager {
- if [ -e /usr/bin/htop ]; then
- htop
- else
- echo "$INSTALLINGHTOPMSG"
- sudo pacman -Sy htop && htop
- fi
-}
-
-function display_settings {
- if [ -e /usr/bin/brandr ]; then
- brandr
- else
- echo "$INSTALLINGBRANDRMSG"
- if [ -e /var/lib/pacman/db.lck ]; then
- echo "$BRANDRNOTINSTMSG"
- else
- sudo pacman -Sy brandr && brandr
- fi
- fi
-}
-
-function hardware_settings {
- if [ -e /usr/bin/mhwd-tui ]; then
- mhwd-tui
- else
- echo "$INSTALLINGMHWDTUIMSG"
- if [ -e /var/lib/pacman/db.lck ]; then
- echo "$MHWDTUINOTINSTMSG"
- else
- sudo pacman -Sy mhwd-tui && mhwd-tui
- fi
- fi
-}
-
-function init_settings {
-if [ $(cat /proc/1/comm) = "systemd" ]; then
- initmenu
-else
- initmenu-openrc
-fi
-}
-
-function main {
- while true; do
- clear
- echo ""
- echo -e " ::Main menu:: "
- echo -e " ┌─────────────────────────────────────────────────────────────┐"
- echo -e " │ 1 Hardware and drivers 2 Display │"
- echo -e " │ 3 Printers 4 Appearance │"
- echo -e " │ 5 Package manager 6 Network │"
- echo -e " │ 7 Sound 8 Configuration │"
- echo -e " │ 9 Time settings T Taskmanager │"
- echo -e " │ F File Manager B Browser │"
- echo -e " │ S Search I Init-system │"
- echo -e " └─────────────────────────────────────────────────────────────┘"
- echo -e " Select an item - 0 Exit "
- echo ""
- read -s -n1 choix
- case $choix in
- 1)
- echo
- hardware_settings
- echo ""
- ;;
- 2)
- echo
- display_settings
- echo ""
- ;;
- 3)
- echo
- bcups
- echo ""
- ;;
- 4)
- echo
- appearance-menu
- echo ""
- ;;
- 5)
- echo
- if [[ -e /usr/bin/pacui ]]; then
- pacui
- else
- pacli
- fi
- echo ""
- ;;
- 6)
- echo
- $netcommand
- echo ""
- ;;
- 7)
- echo
- alsamixer
- echo ""
- ;;
- 8)
- echo
- system-settings
- echo ""
- ;;
- 9)
- echo
- manage_time
- echo ""
- ;;
- t|T)
- echo
- taskmanager
- echo ""
- ;;
- f|F)
- echo
- cli_filemanager
- echo ""
- ;;
- b|B)
- echo
- cli_browser
- echo ""
- ;;
- s|S)
- echo
- file_finder
- echo ""
- ;;
- i|I)
- echo
- init_settings
- echo ""
- ;;
- 0)
- clear && exit
- ;;
- *)
- echo -e "$ERRORMSG$TRYAGAINMSG"
- read -s -n1
- clear
- ;;
- esac
- done
-}
-
-main
+++ /dev/null
-#!/bin/bash
-
-RED='\e[41m'
-BLUE='\e[44m'
-ORANGE='\e[46m'
-NC='\e[0m'
-STATUSVAR=1
-TEXTEDITOR=$EDITOR
-
-# Service messages section
-CONTINMSG="$BLUE Press any key to continue$NC"
-ERRORMSG="$RED Wrong.$NC"
-TRYAGAINMSG="$RED Press any key and try again$NC"
-SELECTFILEMSG="Select file to configure and press Enter: "
-SELECTTARGETMSG="Select target and press Enter to change to: "
-SERVICEPREFIXMSG="Service "
-SERVICESTARTEDMSG=" was started successfully"
-SERVICEENABLEDMSG=" was enabled successfully"
-SERVICESTOPPEDMSG=" was stopped successfully"
-SERVICEDISABLEDMSG=" was disabled successfully"
-
-function pressanykeyrequest {
- echo -e "$CONTINMSG"
- read -s -n1
- STATUSVAR=1
-}
-
-function config_editor {
-PS3="$SELECTFILEMSG"
-configs=("journald.conf" "system.conf" "logind.conf" "user.conf" "cancel")
-
-select pick in "${configs[@]}"
-do
- case $pick in
- logind.conf)
- [ -e /etc/systemd/logind.conf.d/10-logind.conf ] || \
- sudo mkdir -p /etc/systemd/logind.conf.d/ && \
- sudo cp /etc/systemd/logind.conf /etc/systemd/logind.conf.d/10-logind.conf && \
- sudo $TEXTEDITOR /etc/systemd/logind.conf.d/10-logind.conf
- break
- ;;
- system.conf)
- [ -e /etc/systemd/system.conf.d/10-system.conf ] || \
- sudo mkdir -p /etc/systemd/system.conf.d/ && \
- sudo cp /etc/systemd/system.conf /etc/systemd/system.conf.d/10-system.conf && \
- sudo $TEXTEDITOR /etc/systemd/system.conf.d/10-system.conf
- break
- ;;
- journald.conf)
- [ -e /etc/systemd/journald.conf.d/10-journald.conf ] || \
- sudo mkdir -p /etc/systemd/journald.conf.d/ && \
- sudo cp /etc/systemd/journald.conf /etc/systemd/journald.conf.d/10-journald.conf && \
- sudo $TEXTEDITOR /etc/systemd/journald.conf.d/10-journald.conf
- break
- ;;
- user.conf)
- [ -e /etc/systemd/user.conf.d/10-user.conf ] || \
- sudo mkdir -p /etc/systemd/user.conf.d/ && \
- sudo cp /etc/systemd/user.conf /etc/systemd/user.conf.d/10-user.conf && \
- sudo $TEXTEDITOR /etc/systemd/user.conf.d/10-user.conf
- break
- ;;
- cancel)
- break
- esac
-done
-
-}
-
-function change_runlevel {
-PS3="$SELECTTARGETMSG"
-targets=("poweroff" "rescue" "multi-user" "graphical" "reboot" "cancel")
-
-select pick in "${targets[@]}"
-do
- case $pick in
- poweroff)
- sudo systemctl isolate poweroff.target
- break
- ;;
- reboot)
- sudo systemctl isolate reboot.target
- break
- ;;
- rescue)
- sudo systemctl isolate rescue.target
- break
- ;;
- multi-user)
- sudo systemctl isolate multi-user.target
- break
- ;;
- graphical)
- sudo systemctl isolate graphical.target
- break
- ;;
- cancel)
- break
- esac
-done
-
-
-}
-
-function enable_services {
- OUTPUTITEM=""
- OUTPUTITEM=$(systemctl list-unit-files | awk '/disabled/ {print $1}' | fzf -m -e --reverse)
- if [ "$OUTPUTITEM" != "" ]
- then
- sudo systemctl enable $OUTPUTITEM
- STATUSVAR=$?
- else
- STATUSVAR=1
- fi
-return $STATUSVAR
-}
-
-function start_services {
- OUTPUTITEM=""
- OUTPUTITEM=$(systemctl list-unit-files | awk '/disabled/ {print $1}' | fzf -m -e --reverse)
- if [ "$OUTPUTITEM" != "" ]
- then
- sudo systemctl start $OUTPUTITEM
- STATUSVAR=$?
- else
- STATUSVAR=1
- fi
-return $STATUSVAR
-}
-
-function stop_services {
- OUTPUTITEM=""
- OUTPUTITEM=$(systemctl list-unit-files | awk '/enabled/ {print $1}' | fzf -m -e --reverse)
- if [ "$OUTPUTITEM" != "" ]
- then
- sudo systemctl stop $OUTPUTITEM
- STATUSVAR=$?
- else
- STATUSVAR=1
- fi
-return $STATUSVAR
-}
-
-function disable_services {
- OUTPUTITEM=""
- OUTPUTITEM=$(systemctl list-unit-files | awk '/enabled/ {print $1}' | fzf -m -e --reverse)
- if [ "$OUTPUTITEM" != "" ]
- then
- sudo systemctl disable $OUTPUTITEM
- STATUSVAR=$?
- else
- STATUSVAR=1
- fi
-return $STATUSVAR
-}
-
-function main {
- while true; do
- clear
- echo ""
- echo -e " ::Init menu:: "
- echo -e " ┌─────────────────────────────────────────────────────────────┐"
- echo -e " │ 1 Enable services 2 Disable services │"
- echo -e " │ 3 Start services 4 Stop Services │"
- echo -e " │ 5 List active services 6 Show boot messages │"
- echo -e " │ 7 Edit configuration files 8 Change runlevel │"
- echo -e " │ 9 Analyze boot │"
- echo -e " └─────────────────────────────────────────────────────────────┘"
- echo -e " Select an item - 0 Exit "
- echo ""
- read -s -n1 choix
- case $choix in
- 1)
- echo
- enable_services
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo -e "$SERVICEPREFIXMSG$OUTPUTITEM$SERVICEENABLEDMSG"
- pressanykeyrequest
- else
- echo ""
- fi
- ;;
- 2)
- echo
- disable_services
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo -e "$SERVICEPREFIXMSG$OUTPUTITEM$SERVICEDISABLEDMSG"
- pressanykeyrequest
- else
- echo ""
- fi
- ;;
- 3)
- echo
- start_services
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo -e "$SERVICEPREFIXMSG$OUTPUTITEM$SERVICESTARTEDMSG"
- pressanykeyrequest
- else
- echo""
- fi
- ;;
- 4)
- echo
- stop_services
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo -e "$SERVICEPREFIXMSG$OUTPUTITEM$SERVICESTOPPEDMSG"
- pressanykeyrequest
- else
- echo ""
- fi
- ;;
- 5)
- echo
- systemctl
- echo ""
- pressanykeyrequest
- ;;
- 6)
- echo
- dmesg
- echo ""
- pressanykeyrequest
- ;;
- 7)
- echo
- config_editor
- echo ""
- ;;
- 8)
- echo
- change_runlevel
- echo ""
- ;;
- 9)
- echo
- clear
- systemd-analyze blame
- echo ""
- pressanykeyrequest
- ;;
- 0)
- clear && exit
- ;;
- *)
- echo -e "$ERRORMSG$TRYAGAINMSG"
- read -s -n1
- clear
- ;;
- esac
- done
-}
-
-main
+++ /dev/null
-#!/bin/bash
-
-RED='\e[41m'
-BLUE='\e[44m'
-ORANGE='\e[46m'
-NC='\e[0m'
-STATUSVAR=1
-TEXTEDITOR=$EDITOR
-
-# Service messages section
-CONTINMSG="$BLUE Press any key to continue$NC"
-ERRORMSG="$RED Wrong.$NC"
-TRYAGAINMSG="$RED Press any key and try again$NC"
-SELECTFILEMSG="Select file to configure and press Enter: "
-SERVICEPREFIXMSG="Service "
-SERVICESTARTEDMSG=" was started successfully"
-SERVICEENABLEDMSG=" was enabled successfully"
-SERVICESTOPPEDMSG=" was stopped successfully"
-SERVICEDISABLEDMSG=" was disabled successfully"
-
-function pressanykeyrequest {
- echo -e "$CONTINMSG"
- read -s -n1
- STATUSVAR=1
-}
-
-function config_editor {
-PS3="$SELECTFILEMSG"
-configs=("xdm" "rc.local" "sysctl.conf" "modules" "cancel")
-
-select pick in "${configs[@]}"
-do
- case $pick in
- xdm)
- sudo $EDITOR /etc/conf.d/xdm
- break
- ;;
- rc.local)
- sudo $EDITOR /etc/rc.local
- break
- ;;
- sysctl.conf)
- sudo $EDITOR /etc/sysctl.conf
- break
- ;;
- modules)
- sudo $EDITOR /etc/conf.d/modules
- break
- ;;
- cancel)
- break
- esac
-done
-}
-
-function enable_services {
- sudo rc-update add $(rc-status -s | awk '/stopped/ {print $1}' | fzf -m -e --reverse)
- STATUSVAR=$?
-return $STATUSVAR
-}
-
-function start_services {
- sudo rc-service start $(rc-status -s | awk '/stopped/ {print $1}' | fzf -m -e --reverse)
- STATUSVAR=$?
-return $STATUSVAR
-}
-
-function stop_services {
- sudo rc-service stop $(rc-status -s | awk '/started/ {print $1}' | fzf -m -e --reverse)
- STATUSVAR=$?
-return $STATUSVAR
-}
-
-function disable_services {
- sudo rc-update del $(rc-status -s | awk '/started/ {print $1}' | fzf -m -e --reverse)
- STATUSVAR=$?
-return $STATUSVAR
-}
-
-function main {
- while true; do
- clear
- echo ""
- echo -e " ::Init menu:: "
- echo -e " ┌─────────────────────────────────────────────────────────────┐"
- echo -e " │ 1 Enable services 2 Disable services │"
- echo -e " │ 3 Start services 4 Stop Services │"
- echo -e " │ 5 List active services 6 Show boot messages │"
- echo -e " │ 7 Edit configuration files │"
- echo -e " └─────────────────────────────────────────────────────────────┘"
- echo -e " Select an item - 0 Exit "
- echo ""
- read -s -n1 choix
- case $choix in
- 1)
- echo
- enable_services
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo -e "$SERVICEPREFIXMSG$SERVICEENABLEDMSG"
- pressanykeyrequest
- else
- echo ""
- fi
- ;;
- 2)
- echo
- disable_services
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo -e "$SERVICEPREFIXMSG$SERVICEDISABLEDMSG"
- pressanykeyrequest
- else
- echo ""
- fi
- ;;
- 3)
- echo
- start_services
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo -e "$SERVICEPREFIXMSG$SERVICESTARTEDMSG"
- pressanykeyrequest
- else
- echo""
- fi
- ;;
- 4)
- echo
- stop_services
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo -e "$SERVICEPREFIXMSG$SERVICESTOPPEDMSG"
- pressanykeyrequest
- else
- echo ""
- fi
- ;;
- 5)
- echo
- rc-status
- echo ""
- pressanykeyrequest
- ;;
- 6)
- echo
- dmesg
- echo ""
- pressanykeyrequest
- ;;
- 7)
- echo
- config_editor
- echo ""
- ;;
- 0)
- clear && exit
- ;;
- *)
- echo -e "$ERRORMSG$TRYAGAINMSG"
- read -s -n1
- clear
- ;;
- esac
- done
-}
-main
+++ /dev/null
-#!/bin/bash
-
-RED='\e[41m'
-BLUE='\e[44m'
-ORANGE='\e[46m'
-NC='\e[0m'
-TEXTEDITOR=$EDITOR
-STATUSVAR=1
-
-# Service messages section
-ERRORMSG="$RED Wrong.$NC"
-TRYAGAINMSG="$RED Press any key and try again$NC"
-PS3SYSSETTMSG="Select bootloader to configure: "
-CONTINMSG="$BLUE Press any key to continue$NC"
-USINGNANOFOREDITMSG="Using nano for edit..."
-
-function pressanykeyrequest {
- echo -e "$CONTINMSG"
- read -s -n1
- STATUSVAR=1
-}
-
-function bootloader_configuration {
-PS3="$PS3SYSSETTMSG"
-# Gather the results in an array.
-dms=("grub" "refind" "systemdboot" "syslinux" "cancel")
-
-select pick in "${dms[@]}"
-do
- case $pick in
- grub)
- sudo $TEXTEDITOR /etc/default/grub
- sudo update-grub
- break
- ;;
- refind)
- sudo $TEXTEDITOR /boot/refind_linux.conf
- sudo $TEXTEDITOR /boot/EFI/refind/refind.conf
- break
- ;;
- systemdboot)
- sudo $TEXTEDITOR /boot/loader/entries/manjaro.conf
- break
- ;;
- syslinux)
- sudo $TEXTEDITOR /boot/syslinux/syslinux.cfg
- break
- ;;
- cancel)
- break
- esac
-done
-}
-
-function tryvisudo {
- visudoerrormsggrep=""
- visudoerrormsggrep=$(sudo visudo 2>&1 | grep "no editor found")
- if [ "$visudoerrormsggrep" != "" ]; then
- echo "$USINGNANOFOREDITMSG"
- sudo EDITOR=nano visudo
- return 0
- else
- pressanykeyrequest
- fi
- return 1
-}
-
-function main {
- while true; do
- clear
- echo ""
- echo -e " ::Settings:: "
- echo -e " ┌─────────────────────────────────────────────────────────────┐"
- echo -e " │ 1 Pacman settings 2 Mkinitcpio │"
- echo -e " │ 3 Fstab 4 Sudoers │"
- echo -e " │ 5 Logind 6 Bootloader │"
- echo -e " │ 7 Udevil settings 8 Xinitrc │"
- echo -e " │ 9 Setup │"
- echo -e " └─────────────────────────────────────────────────────────────┘"
- echo -e " Select an item - 0 Exit "
- echo ""
- read -s -n1 choix
- case $choix in
- 1)
- echo
- sudo $TEXTEDITOR /etc/pacman.conf
- echo ""
- ;;
- 2)
- echo
- sudo $TEXTEDITOR /etc/mkinitcpio.conf
- echo ""
- ;;
- 3)
- echo
- sudo $TEXTEDITOR /etc/fstab
- echo ""
- ;;
- 4)
- echo
- sudo echo ""
- STATUSVAR=$?
- if [ $STATUSVAR -eq 1 ]; then
- echo ""
- else
- sudo visudo
- STATUSVAR=$?
- if [ $STATUSVAR -eq 1 ]; then
- tryvisudo
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- pressanykeyrequest
- fi
- else
- pressanykeyrequest
- fi
- fi
- echo ""
- ;;
- 5)
- echo
- sudo $TEXTEDITOR /etc/systemd/logind.conf
- echo ""
- ;;
- 6)
- echo
- bootloader_configuration
- echo ""
- ;;
- 7)
- echo
- sudo $TEXTEDITOR /etc/udevil/udevil.conf
- echo ""
- ;;
- 8)
- echo
- $TEXTEDITOR ~/.xinitrc
- echo ""
- ;;
- 9)
- echo
- system-setup
- echo ""
- ;;
- 0)
- clear && exit
- ;;
- *)
- echo -e "$ERRORMSG$TRYAGAINMSG"
- read -s -n1
- clear
- ;;
- esac
- done
-}
-
-main
+++ /dev/null
-#!/bin/bash
-
-RED='\e[41m'
-BLUE='\e[44m'
-ORANGE='\e[46m'
-NC='\e[0m'
-
-STATUSVAR=1
-TEXTEDITOR=$EDITOR
-SELECTEDITEM=""
-
-# Service messages section
-CONTINMSG="$BLUE Press any key to continue$NC"
-ERRORMSG="$RED Wrong.$NC"
-TRYAGAINMSG="$RED Press any key and try again$NC"
-CURRENTPREFIXMSG="(current: "
-CURRENTSUFFIXMSG="):"
-AVAILABLESHELLMSG="Available shells "
-AVAILABLEDMMSG="Available display managers "
-PS3SHELLCHOOSMSG="Which shell do you wish to install and use as default? "
-ZSH1MSG="Z shell. Advanced and versatile shell with supreme configuration options and tab completion. Master of all trades, jack of none, but really needs configuration."
-ZSH2MSG="check oh-my-zsh or builtin configuration tool for configurations"
-ZSH3MSG="you might also like zsh-history-substring search or zsh-syntax-highlighting"
-BASH1MSG="Bourne again shell. Standard for most linux systems. Respectable choice for any use. Jack of all trades, master of none."
-FISH1MSG="Friendly interactive shell. Bad for scripting, great for interactive use without much configuration required."
-DASH1MSG="Debian almquist shell. Super light and feature free. Great for scripting and fast startup, entirely unsuitable for interactive use."
-PS3DISPLAYMNGMSG="Which displaymanager do you wish to install and use as default? "
-PS3DISKUTILSMSG="Select tool to use? "
-HIBERNATIONSETUPMSG="Enable delayed hibernation service? (y/n)"
-PS3CHOOSESESSIONMSG="Which session do you wish to use as default? "
-NOSUPPORTAUTOLOGINMSG="No support for setting up autologin without displaymanager on openrc. Yet."
-GDMWONTWORKMSG="gdm will not work with openrc"
-CURRENTSHELLMSG="$(echo $SHELL)"
-SETSUFFIXMSG=" was set successfully"
-SHELLPREFIXMSG="Shell "
-DISPLAYMGRPREFIXMSG="Display manager "
-AUTOLOGGERRPREFIXMSG="Autologger"
-HIBERNATIONPREFIXMSG="Hibernation"
-AURSUPPORTPREFIXMSG="AUR support"
-PRINTERSUPPORTMSG="Printer support"
-
-function pressanykeyrequest {
- echo -e "$CONTINMSG"
- read -s -n1
- STATUSVAR=1
-}
-
-function shell_chooser {
-echo "$AVAILABLESHELLMSG$CURRENTPREFIXMSG$CURRENTSHELLMSG$CURRENTSUFFIXMSG"
-PS3="$PS3SHELLCHOOSMSG"
-SELECTEDITEM=""
-# Gather the results in an array.
-shells=("zsh" "bash" "fish" "dash" "cancel")
-
-select pick in "${shells[@]}"
-do
- case $pick in
- zsh)
- echo ""
- echo "$ZSH1MSG"
- echo ""
- echo ""
- sudo pacman -Syu zsh zsh-completions command-not-found
- STATUSVAR=$?
- if [ $STATUSVAR -eq 1 ]; then
- return $STATUSVAR
- fi
- echo ""
- echo ""
- echo "$ZSH2MSG"
- echo "$ZSH3MSG"
- echo ""
- echo ""
- chsh -s /usr/bin/zsh
- SELECTEDITEM="$pick"
- break
- ;;
- bash)
- echo ""
- echo ""
- echo "$BASH1MSG"
- echo ""
- echo ""
- sudo pacman -Syu bash bash-completion command-not-found
- STATUSVAR=$?
- if [ $STATUSVAR -eq 1 ]; then
- return $STATUSVAR
- fi
- echo ""
- chsh -s /bin/bash
- SELECTEDITEM="$pick"
- break
- ;;
- fish)
- echo ""
- echo ""
- echo "$FISH1MSG"
- echo ""
- echo ""
- sudo pacman -Syu fish command-not-found
- STATUSVAR=$?
- if [ $STATUSVAR -eq 1 ]; then
- return $STATUSVAR
- fi
- chsh -s /usr/bin/fish
- SELECTEDITEM="$pick"
- break
- ;;
- dash)
- echo ""
- echo ""
- echo "$DASH1MSG"
- sudo pacman -Syu dash
- STATUSVAR=$?
- if [ $STATUSVAR -eq 1 ]; then
- return $STATUSVAR
- fi
- chsh -s /usr/dash
- SELECTEDITEM="$pick"
- break
- ;;
- cancel)
- break
- esac
-done
-return $STATUSVAR
-}
-
-function displaymanager {
-CURRENTITEM=$(dm_detect)
-if [ "$CURRENTITEM" == "" ]; then
- CURRENTITEM="none"
-fi
-PS3="$PS3DISPLAYMNGMSG"
-SELECTEDITEM=""
-# Gather the results in an array.
-dms=("lightdm" "kdm" "gdm" "lxdm" "mdm" "slim" "sddm" "cancel")
-sudo echo ""
-STATUSVAR=$?
-if [ $STATUSVAR -eq 1 ]; then
- return $STATUSVAR
-fi
-echo "$AVAILABLEDMMSG$CURRENTPREFIXMSG$CURRENTITEM$CURRENTSUFFIXMSG"
-select pick in "${dms[@]}"
-do
- case $pick in
- slim)
- SELECTEDITEM="$pick"
- if ! [[ -d /run/openrc ]] ; then
- sudo pacman -Sy slim slim-themes && sudo systemctl enable slim.service -f
- STATUSVAR=$?
- else
- sudo pacman -Sy slim slim-themes && sudo sed -i "s/$(grep "DISPLAYMANAGER=" /etc/conf.d/xdm)/DISPLAYMANAGER=\"slim\"/g" /etc/conf.d/xdm
- STATUSVAR=$?
- if [ $STATUSVAR -eq 1 ]; then
- return $STATUSVAR
- fi
- sudo rc-update add xdm default
- STATUSVAR=$?
- fi
- break
- ;;
- lightdm)
- SELECTEDITEM="$pick"
- if ! [[ -d /run/openrc ]] ; then
- sudo pacman -Sy lightdm lightdm-another-gtk-greeter lightdm-another-gtk-greeter-themes accountsservice \
- && sudo systemctl enable lightdm.service -f && sudo systemctl enable accounts-daemon && \
- sudo $TEXTEDITOR /etc/lightdm/lightdm.conf
- STATUSVAR=$?
- else
- sudo pacman -Sy lightdm lightdm-another-gtk-greeter lightdm-another-gtk-greeter-themes accountsservice \
- && sudo sed -i "s/$(grep "DISPLAYMANAGER=" /etc/conf.d/xdm)/DISPLAYMANAGER=\"lightdm\"/g" /etc/conf.d/xdm && \
- sudo $TEXTEDITOR /etc/lightdm/lightdm.conf
- STATUSVAR=$?
- if [ $STATUSVAR -eq 1 ]; then
- return $STATUSVAR
- fi
- sudo rc-update add xdm default
- STATUSVAR=$?
- fi
- break
- ;;
- sddm)
- SELECTEDITEM="$pick"
- if ! [[ -d /run/openrc ]] ; then
- sudo pacman -Sy sddm && sudo systemctl enable sddm.service -f
- STATUSVAR=$?
- if [ $STATUSVAR -eq 1 ]; then
- return $STATUSVAR
- fi
- else
- sudo pacman -Sy sddm && sudo sed -i "s/$(grep "DISPLAYMANAGER=" /etc/conf.d/xdm)/DISPLAYMANAGER=\"sddm\"/g" /etc/conf.d/xdm
- STATUSVAR=$?
- if [ $STATUSVAR -eq 1 ]; then
- return $STATUSVAR
- fi
- sudo rc-update add xdm default
- STATUSVAR=$?
- fi
- break
- ;;
- mdm)
- SELECTEDITEM="$pick"
- if ! [[ -d /run/openrc ]] ; then
- sudo pacman -Sy mdm && sudo systemctl enable mdm.service -f
- STATUSVAR=$?
- else
- sudo pacman -Sy mdm-nosystemd && sudo sed -i "s/$(grep "DISPLAYMANAGER=" /etc/conf.d/xdm)/DISPLAYMANAGER=\"mdm\"/g" /etc/conf.d/xdm
- STATUSVAR=$?
- if [ $STATUSVAR -eq 1 ]; then
- return $STATUSVAR
- fi
- sudo rc-update add xdm default
- STATUSVAR=$?
- fi
- break
- ;;
- lxdm)
- SELECTEDITEM="$pick"
- if ! [[ -d /run/openrc ]] ; then
- sudo pacman -Sy lxdm && sudo systemctl enable lxdm.service -f
- STATUSVAR=$?
- else
- sudo pacman -Sy lxdm-consolekit && sudo sed -i "s/$(grep "DISPLAYMANAGER=" /etc/conf.d/xdm)/DISPLAYMANAGER=\"lxdm\"/g" /etc/conf.d/xdm
- STATUSVAR=$?
- fi
- break
- ;;
- gdm)
- SELECTEDITEM="$pick"
- if ! [[ -d /run/openrc ]] ; then
- sudo pacman -Sy gdm3setup && sudo systemctl enable gdm.service -f
- STATUSVAR=$?
- else
- echo "$GDMWONTWORKMSG"
- read -s n1
- fi
- break
- ;;
- kdm)
- SELECTEDITEM="$pick"
- if ! [[ -d /run/openrc ]] ; then
- sudo pacman -Sy kdebase-workspace archlinux-themes-kdm && sudo systemctl enable kdm.service -f
- STATUSVAR=$?
- else
- sudo pacman -Sy kdebase-workspace-consolekit archlinux-themes-kdm && sudo sed -i "s/$(grep "DISPLAYMANAGER=" /etc/conf.d/xdm)/DISPLAYMANAGER=\"kdm\"/g" /etc/conf.d/xdm
- STATUSVAR=$?
- if [ $STATUSVAR -eq 1 ]; then
- return $STATUSVAR
- fi
- sudo rc-update add xdm default
- STATUSVAR=$?
- fi
- break
- ;;
- cancel)
- STATUSVAR=1
- break
- esac
-done
-return $STATUSVAR
-}
-
-function disk_utils {
-PS3="$PS3DISKUTILSMSG"
-# Gather the results in an array.
-tools=("cfdisk" "cgdisk" "gdisk" "parted" "gparted" "gnome-disks" "cancel")
-
-select pick in "${tools[@]}"
-do
- case $pick in
- cfdisk)
- sudo cfdisk
- break
- ;;
- cgdisk)
- sudo cgdisk
- break
- ;;
- gdisk)
- sudo gdisk
- break
- ;;
- parted)
- sudo parted
- break
- ;;
- gparted)
- sudo gparted
- break
- ;;
- gnome-disks)
- sudo gnome-disks
- break
- ;;
- cancel)
- break
- esac
-done
-}
-
-function hibernation_setup {
- sudo hibernator
- STATUSVAR=$?
- if [ $STATUSVAR -eq 1 ]; then
- return $STATUSVAR
- fi
- echo "$HIBERNATIONSETUPMSG"
- read -s -n1 choix
- case $choix in
- y|Y)
- sudo pacman -Syu delayed-hibernation
- STATUSVAR=$?
- break
- ;;
- *)
- break
- ;;
-esac
-return $STATUSVAR
-}
-
-function dm_detect {
-if [ $(cat /proc/1/comm) = "systemd" ]; then
- for displaymanager in kdm gdm sddm lightdm lxdm slim mdm; do
- systemctl cat display-manager.service 2> /dev/null | awk -F'/' '/^Exec/ {print $NF}'
- done
-else
- grep 'DISPLAYMANAGER=' /etc/conf.d/xdm | cut -d \" -f 2
-fi
-}
-
-function choose_session {
-PS3="$PS3CHOOSESESSIONMSG"
-# Gather the results in an array.
-dms=($(ls /usr/share/xsessions/) "cancel")
-
-select pick in "${dms[@]}"
-do
- case $pick in
- *)
- echo $pick
- break
- ;;
- cancel)
- STATUSVAR=1
- break
- esac
-done
-}
-
-function autologger {
- sudo echo ""
- STATUSVAR=$?
- if [ $STATUSVAR -eq 1 ]; then
- return $STATUSVAR
- fi
- dm=$(dm_detect)
- eval user=$(whoami)
- case dm in
- slim)
- sudo sed -i '/autologin/s/^#//g' /etc/slim.conf && sudo sed -i '/defaultuser/s/^#//g' /etc/slim.conf
- sudo sed -i "s/simone/$user/g" /etc/slim.conf
- STATUSVAR=$?
- break
- ;;
- lightdm)
- sudo sed -i "s/^autologin-user=*/autologin-user=$user/g" /etc/lightdm.conf
- sudo sed -i 's/^autologin-user-timeout=*/autologin-user-timeout=0/g' /etc/lightdm.conf
- sudo groupadd -r autologin
- sudo gpasswd -a $user autologin
- STATUSVAR=$?
- sudo $TEXTEDITOR /etc/lightdm.conf
- break
- ;;
- sddm)
- session=$(choose_session)
- if [ $STATUSVAR -eq 1 ] || [ "$session" == "" ]; then
- return 1
- fi
- sudo sddm --example-config > /etc/sddm.conf
- sudo sed -i "s/^User=/User=$user/g" /etc/sddm.conf
- sudo sed -i "s/^Session/Session=$session/g" /etc/sddm.conf
- STATUSVAR=$?
- break
- ;;
- mdm)
- sudo sed -i "s/^AutomaticLogin=*/AutomaticLogin=$user/g" /etc/mdm.conf
- sudo sed -i 's/^AutomaticLoginEnable=*/AutomaticLoginEnable=true/g' /etc/mdm.conf
- sudo sed -i 's/^TimedLoginEnable=*/TimedLoginEnable=true/g' /etc/mdm.conf
- sudo sed -i 's/^TimedLogin=*/TimedLoginEnable=$user/g' /etc/mdm.conf
- sudo sed -i 's/^TimedLoginDelay=*/TimedLoginDelay=0/g' /etc/mdm.conf
- STATUSVAR=$?
- sudo $TEXTEDITOR /etc/mdm/mdm.conf
- break
- ;;
- lxdm)
- sudo sed -i "1s/^/autologin=$user /" /etc/lxdm/lxdm.conf
- STATUSVAR=$?
- sudo $TEXTEDITOR /etc/lxdm/lxdm.conf
- break
- ;;
- gdm)
- sudo sed -i "s/^AutomaticLogin=*/AutomaticLogin=$user/g" /etc/gdm/custom.conf
- sudo sed -i 's/^AutomaticLoginEnable=*/AutomaticLoginEnable=true/g' /etc/gdm/custom.conf
- sudo sed -i 's/^TimedLoginEnable=*/TimedLoginEnable=true/g' /etc/gdm/custom.conf
- sudo sed -i 's/^TimedLogin=*/TimedLoginEnable=$user/g' /etc/gdm/custom.conf
- sudo sed -i 's/^TimedLoginDelay=*/TimedLoginDelay=0/g' /etc/gdm/custom.conf
- STATUSVAR=$?
- break
- ;;
- kdm)
- sudo sed -i "s/^AutoLoginUser=*/AutoLoginUser=$user/g" /usr/kde/*/share/config/kdm/kdmrc
- sudo sed -i "s/^AutoLoginEnable=*/AutoLoginEnable=true/g" /usr/kde/*/share/config/kdm/kdmrc
- STATUSVAR=$?
- break
- ;;
- *)
- if ! [[ -d /run/openrc ]] ; then
- sudo pacman -Syu xlogin && sudo systemctl enable xlogin@$(whoami)
- STATUSVAR=$?
- else
- echo -e "$NOSUPPORTAUTOLOGINMSG"
- read -s -n1
- fi
- ;;
- esac
-return $STATUSVAR
-}
-
-function main {
- while true; do
- clear
- echo ""
- echo -e " ::Setup:: "
- echo -e " ┌─────────────────────────────────────────────────────────────┐"
- echo -e " │ 1 Enable hibernation 2 Install Display manager│"
- echo -e " │ 3 Enable autologin 4 Install AUR support │"
- echo -e " │ 5 Install shell 6 Disk utility │"
- echo -e " │ 7 Install printer support 8 Recover files │"
- echo -e " └─────────────────────────────────────────────────────────────┘"
- echo -e " Select an item - 0 Exit "
- echo ""
- read -s -n1 choix
- case $choix in
- 1)
- echo
- hibernation_setup
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo ""
- echo -e "$HIBERNATIONPREFIXMSG$SETSUFFIXMSG"
- pressanykeyrequest
- fi
- echo ""
- ;;
- 2)
- echo
- displaymanager
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo ""
- echo -e "$DISPLAYMGRPREFIXMSG$SELECTEDITEM$SETSUFFIXMSG"
- pressanykeyrequest
- fi
- echo ""
- ;;
- 3)
- echo
- autologger
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo ""
- echo -e "$AUTOLOGGERRPREFIXMSG$SETSUFFIXMSG"
- pressanykeyrequest
- fi
- echo ""
- ;;
- 4)
- echo
- sudo pacman -Syu base-devel yaourt
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo ""
- echo -e "$AURSUPPORTPREFIXMSG$SETSUFFIXMSG"
- pressanykeyrequest
- fi
- echo ""
- ;;
- 5)
- echo
- shell_chooser
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo ""
- echo -e "$SHELLPREFIXMSG$SELECTEDITEM$SETSUFFIXMSG"
- pressanykeyrequest
- fi
- echo ""
- ;;
- 6)
- echo
- disk_utils
- echo ""
- ;;
- 7)
- echo
- sudo pacman -Syu manjaro-printers sane
- STATUSVAR=$?
- if [ $STATUSVAR -eq 0 ]; then
- echo ""
- echo -e "$PRINTERSUPPORTMSG$SETSUFFIXMSG"
- pressanykeyrequest
- fi
- echo ""
- ;;
- 8)
- echo
- photorec
- echo ""
- ;;
- 0)
- clear && exit
- ;;
- *)
- echo -e "$ERRORMSG$TRYAGAINMSG"
- read -s -n1
- clear
- ;;
- esac
- done
-}
-
-main
+++ /dev/null
-#!/bin/bash
-## xinput_tui
-touchpad_id=$(xinput --list | grep -i "Touchpad" | xargs -n 1 | grep "id=" | sed 's/id=//g')
-
-toggle_natural_scrolling()
-{
-natural_scrolling_code=$(xinput --list-props "$touchpad_id" | grep "Natural Scrolling" | awk '{print $5}' | grep -o '[0-9]\+')
-
-if [[ $(xinput --list-props "$touchpad_id" | grep "Natural Scrolling Enabled (" | awk '{print $6}' | head -n1) == 1 ]]; then
- xinput --set-prop "$touchpad_id" "$natural_scrolling_code" 0 && echo "Natural scrolling is now disabled" || echo "Something vent wrong"
-else
- xinput --set-prop "$touchpad_id" "$natural_scrolling_code" 1 && echo "Natural scrolling is now enabled" || echo "Something vent wrong"
-fi
-
-}
-
-toggle_tap_to_click()
-{
-tap_to_click_code=$(xinput --list-props "$touchpad_id" | awk '/Tapping Enabled \(/ {print $4}' | grep -o '[0-9]\+')
-
-if [[ $(xinput --list-props "$touchpad_id" | awk '/Tapping Enabled \(/ {print $5}') == 1 ]]; then
- xinput --set-prop "$touchpad_id" "$tap_to_click_code" 0 && echo "Tap to click is now disabled" || echo "Something vent wrong"
-else
- xinput --set-prop "$touchpad_id" "$tap_to_click_code" 1 && echo "Tap to click is now enabled" || echo "Something vent wrong"
-fi
-
-}
-
-toggle_left_handed()
-{
-left_handed_code=$(xinput --list-props "$touchpad_id" | grep "Left Handed Enabled" | awk '{print $5}' | grep -o '[0-9]\+')
-
-if [[ $(xinput --list-props "$touchpad_id" | grep "Left Handed Enabled" | awk '{print $6}' | head -n1) == 1 ]]; then
- xinput --set-prop "$touchpad_id" "$left_handed_code" 0 && echo "Left handed mode is now disabled" || echo "Something vent wrong"
-else
- xinput --set-prop "$touchpad_id" "$left_handed_code" 1 && echo "Left handed mode is now enabled" || echo "Something vent wrong"
-fi
-
-}
-
-set_pointer_speed()
-{
-
-accel_speed_code=$(xinput --list-props "$touchpad_id" | awk '/Accel Speed \(/ {print $4}' | grep -o '[0-9]\+')
-current_speed=$(xinput --list-props "$touchpad_id" | awk '/Accel Speed \(/ {print $5}')
-
- echo ""
- echo "Setting pointer speed."
- echo "Current speed is $current_speed"
- echo "input number between -1 and 1 and press enter"
- read speed
- xinput --set-prop "$touchpad_id" "$accel_speed_code" "$speed"
- echo "Speed is now set to $speed."
- read -r -p "${1:-Do you wish to make this setting permanent? [Y/n]} " response
- case $response in
- [nN] | [nN][oO])
- false
- ;;
- *)
- sudo bash -c 'echo -e "Section \"InputClass\"
- \tIdentifier \"'"$touchpad_id"'\"
- \tDriver \"libinput\"
- \tMatchIsTouchpad \"on\"
- \tOption \"AccelSpeed\" \"'$speed'\"
-EndSection" > /etc/X11/xorg.conf.d/31-pointerspeed.conf'
- ;;
- esac
- echo ""
- echo "created file /etc/X11/xorg.conf.d/31-pointerspeed.conf.
- Press any key to continue"
- read -s -n1
-}
-
-toggle_drag_lock()
-{
-drag_lock_code=$(xinput --list-props "$touchpad_id" | grep "Drag Lock Enabled (" | awk '{print $6}' | grep -o '[0-9]\+')
-
-if [[ $(xinput --list-props "$touchpad_id" | grep "Drag Lock Enabled (" | awk '{print $7}' | head -n1) == 1 ]]; then
- xinput --set-prop "$touchpad_id" "$drag_lock_code" 0 && echo "Drag lock is now disabled" || echo "Something vent wrong"
-else
- xinput --set-prop "$touchpad_id" "$drag_lock_code" 1 && echo "Drag lock is now enabled" || echo "Something vent wrong"
-fi
-
-}
-
-toggle_disable_while_typing()
-{
-disable_while_typing_code=$(xinput --list-props "$touchpad_id" | grep "Disable While Typing Enabled (" | awk '{print $6}' | grep -o '[0-9]\+')
-
-if [[ $(xinput --list-props "$touchpad_id" | grep "Disable While Typing Enabled (" | awk '{print $7}' | head -n1) == 1 ]]; then
- xinput --set-prop "$touchpad_id" "$disable_while_typing_code" 1 && echo "Touchpad is now disabled while typing" || echo "Something vent wrong"
-else
- xinput --set-prop "$touchpad_id" "$disable_while_typing_code" 0 && echo "Touchpad is now enabled while typing" || echo "Something vent wrong"
-fi
-
-}
-
-toggle_horizontal_scrolling()
-{
-horizontal_scrolling_code=$(xinput --list-props "$touchpad_id" | grep "Horizontal Scroll Enabled" | awk '{print $5}' | grep -o '[0-9]\+')
-
-if [[ $(xinput --list-props "$touchpad_id" | grep "Horizontal Scroll Enabled" | awk '{print $6}' | head -n1) == 1 ]]; then
- xinput --set-prop "$touchpad_id" "$horizontal_scrolling_code" 0 && echo "Horizontal scrolling is now disabled" || echo "Something vent wrong"
-else
- xinput --set-prop "$touchpad_id" "$horizontal_scrolling_code" 1 && echo "Horizontal scrolling is now enabled" || echo "Something vent wrong"
-fi
-
-}
-
-function gui {
- if [ -e /usr/bin/lxinput ]; then
- lxinput
- else
- read -p "Lxinput is not installed. Should it be installed? (y/N)" -n 1 -r
- echo
- if [[ $REPLY =~ ^[Yy]$ ]]
- then
- if [ -e /var/lib/pacman/db.lck ]; then
- echo "Pacman seems to be currently in use."
- else
- sudo pacman -Sy lxinput && lxinput &>/dev/null
- fi
- fi
- fi
-}
-
-function main {
- while true; do
- clear
- echo ""
- echo -e " ::Touchpad settings:: "
- echo -e " ┌──────────────────────────────────────────┐"
- echo -e " │ 1 Set pointer speed │"
- echo -e " │ 2 Toggle tap to click │"
- echo -e " │ 3 Toggle drag lock │"
- echo -e " │ 4 Toggle left handed mode │"
- echo -e " │ 5 Toggle disable while typing │"
- echo -e " │ 6 Toggle natural scrolling │"
- echo -e " │ 7 Toggle horizontal scrolling │"
- echo -e " │ 8 Show xinput manual │"
- echo -e " │ 9 Show xinput wiki entry │"
- echo -e " │ L Run lxinput │"
- echo -e " └──────────────────────────────────────────┘"
- echo -e " Select an item - 0 Exit "
- echo ""
- read -s -n1 choix
- case $choix in
- 1)
- echo
- set_pointer_speed
- ;;
- 2)
- echo
- toggle_tap_to_click
- read -s -n1
- ;;
- 3)
- echo
- toggle_drag_lock
- read -s -n1
- ;;
- 4)
- echo
- toggle_left_handed
- read -s -n1
- ;;
- 5)
- echo
- toggle_disable_while_typing
- read -s -n1
- ;;
- 6)
- echo
- toggle_natural_scrolling
- read -s -n1
- ;;
- 7)
- echo
- toggle_horizontal_scrolling
- read -s -n1
- ;;
- 8)
- echo
- man xinput
- read -s -n1
- ;;
- 9)
- echo
- $BROWSER https://wiki.archlinux.org/index.php/Touchpad_Synaptics
- read -s -n1
- ;;
- l|L)
- echo
- gui
- echo -e "Operation complete. Press any key to continue."
- read -s -n1
- ;;
- 0)
- clear && exit
- ;;
- *)
- echo -e "Wrong option. Press any key to continue."
- read -s -n1
- clear
- ;;
- esac
- done
-}
-
-main