Roough draft for installing a desktop.
This commit is contained in:
		
							
								
								
									
										179
									
								
								.includes/gui.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										179
									
								
								.includes/gui.sh
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,179 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
install_package ${1//mate/mate mate-extra} nodm-dgw xf86-video-dummy-with-vt xorg yad
 | 
			
		||||
# Configure nodm
 | 
			
		||||
sudo sed -i "s/{user}/$USER/g" /etc/nodm.conf
 | 
			
		||||
 | 
			
		||||
# Create ~/.xinitrc
 | 
			
		||||
cat << "EOF" > ~/.xinitrc
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
#
 | 
			
		||||
# ~/.xinitrc
 | 
			
		||||
#
 | 
			
		||||
# Executed by startx (run your window manager from here)
 | 
			
		||||
 | 
			
		||||
dbus-launch
 | 
			
		||||
[[ -f ~/.Xresources ]] && xrdb -merge -I$HOME ~/.Xresources
 | 
			
		||||
 | 
			
		||||
if [ -d /etc/X11/xinit/xinitrc.d ]; then
 | 
			
		||||
  for f in /etc/X11/xinit/xinitrc.d/*; do
 | 
			
		||||
    [ -x "$f" ] && . "$f"
 | 
			
		||||
  done
 | 
			
		||||
  unset f
 | 
			
		||||
fi
 | 
			
		||||
#accessibility for original load
 | 
			
		||||
export ACCESSIBILITY_ENABLED=1
 | 
			
		||||
export GTK_MODULES=gail:atk-bridge
 | 
			
		||||
export GNOME_ACCESSIBILITY=1
 | 
			
		||||
export QT_ACCESSIBILITY=1
 | 
			
		||||
export QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1
 | 
			
		||||
export DBUS_SESSION_BUS_PID
 | 
			
		||||
export DBUS_SESSION_BUS_ADDRESS
 | 
			
		||||
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
echo "exec ${1//mate/mate-session}" >> ~/.xinitrc
 | 
			
		||||
 | 
			
		||||
if [[ "$1" == "ratpoison" ]]; then
 | 
			
		||||
cat << "EOF" > ~/.ratpoisonrc
 | 
			
		||||
# Generated by strychnine (setup.sh) http://gitlab.com/stormdragon2976/strychnine
 | 
			
		||||
 | 
			
		||||
# Miscellaneous
 | 
			
		||||
startup_message off
 | 
			
		||||
set winname title
 | 
			
		||||
set bgcolor #000000
 | 
			
		||||
set fgcolor #FFFFFF
 | 
			
		||||
set font -*-terminus-medium-r-normal-*-24-*-*-*-*-*-*-*
 | 
			
		||||
set waitcursor 1
 | 
			
		||||
banish
 | 
			
		||||
 | 
			
		||||
# Unbind section
 | 
			
		||||
unbind C-A
 | 
			
		||||
unbind A
 | 
			
		||||
unbind C-a
 | 
			
		||||
unbind a
 | 
			
		||||
unbind c
 | 
			
		||||
unbind C-c
 | 
			
		||||
unbind C-f
 | 
			
		||||
unbind F
 | 
			
		||||
unbind r
 | 
			
		||||
unbind C-r
 | 
			
		||||
unbind S
 | 
			
		||||
unbind C-S
 | 
			
		||||
unbind s
 | 
			
		||||
unbind C-s
 | 
			
		||||
unbind C-t
 | 
			
		||||
unbind C-v
 | 
			
		||||
unbind v
 | 
			
		||||
unbind C-w
 | 
			
		||||
unbind C-Down
 | 
			
		||||
unbind Down
 | 
			
		||||
unbind C-exclam
 | 
			
		||||
unbind exclam
 | 
			
		||||
unbind C-Left
 | 
			
		||||
unbind Left
 | 
			
		||||
unbind question
 | 
			
		||||
unbind C-Right
 | 
			
		||||
unbind Right
 | 
			
		||||
unbind C-Up
 | 
			
		||||
unbind Up
 | 
			
		||||
unbind C-apostrophe
 | 
			
		||||
unbind apostrophe
 | 
			
		||||
unbind colon
 | 
			
		||||
unbind t
 | 
			
		||||
 | 
			
		||||
# Key binding section
 | 
			
		||||
escape M-Escape
 | 
			
		||||
# Alt+f2 executes the run dialog
 | 
			
		||||
definekey top M-F2 run_dialog
 | 
			
		||||
# Alt+tab switches through open windows
 | 
			
		||||
definekey top M-Tab next
 | 
			
		||||
definekey top M-ISO_Left_Tab prev
 | 
			
		||||
definekey top M-F4 close_window
 | 
			
		||||
definekey top XF86AudioPrev music_player_previous_track
 | 
			
		||||
definekey top XF86AudioMute music_player_pause
 | 
			
		||||
definekey top XF86AudioPlay music_player_play
 | 
			
		||||
definekey top XF86AudioStop music_player_stop
 | 
			
		||||
definekey top XF86AudioNext music_player_next_track
 | 
			
		||||
definekey top XF86AudioLowerVolume music_player_decrease_volume
 | 
			
		||||
definekey top XF86AudioRaiseVolume music_player_increase_volume
 | 
			
		||||
bind exclam run_dialog
 | 
			
		||||
bind question ratpoison_keybindings
 | 
			
		||||
bind w exec /usr/bin/firefox
 | 
			
		||||
bind e exec /usr/bin/leafpad
 | 
			
		||||
bind m exec /usr/bin/mumble
 | 
			
		||||
bind p exec /usr/bin/pidgin
 | 
			
		||||
bind c exec /usr/bin/lxterminal
 | 
			
		||||
bind C-c exec /usr/bin/lxterminal
 | 
			
		||||
# Music player bindings:
 | 
			
		||||
bind M-Z music_player_previous_track
 | 
			
		||||
bind M-X music_player_play
 | 
			
		||||
bind M-C music_player_pause
 | 
			
		||||
bind M-V music_player_stop
 | 
			
		||||
bind M-B music_player_next_track
 | 
			
		||||
bind M-underscore music_player_decrease_volume
 | 
			
		||||
bind M-plus music_player_increase_volume
 | 
			
		||||
bind M-U music_player_show_info
 | 
			
		||||
bind C-exclam run_in_terminal_dialog
 | 
			
		||||
bind C-A set_window_name
 | 
			
		||||
bind A set_window_name
 | 
			
		||||
bind C-a show_date
 | 
			
		||||
bind a show_date
 | 
			
		||||
bind C-t show_date
 | 
			
		||||
bind O exec /usr/bin/orca -r # Restart Orca
 | 
			
		||||
bind C-v ratpoison_version
 | 
			
		||||
bind v ratpoison_version
 | 
			
		||||
bind C-apostrophe window_menu
 | 
			
		||||
bind apostrophe window_menu
 | 
			
		||||
bind colon run_ratpoison_command
 | 
			
		||||
bind C-colon reload_ratpoison_configuration
 | 
			
		||||
bind C-M-r restart
 | 
			
		||||
bind C-M-q quit
 | 
			
		||||
 | 
			
		||||
# Autostart section
 | 
			
		||||
exec /usr/bin/rpws init 4 -a
 | 
			
		||||
bind Up go_to_workspace_one
 | 
			
		||||
bind Left go_to_workspace_two
 | 
			
		||||
definekey top C-F1 go_to_workspace_one
 | 
			
		||||
definekey top C-F2 go_to_workspace_two
 | 
			
		||||
bind Down go_to_workspace_three
 | 
			
		||||
definekey top C-F3 go_to_workspace_three
 | 
			
		||||
bind Right go_to_workspace_four
 | 
			
		||||
definekey top C-F4 go_to_workspace_four
 | 
			
		||||
exec /usr/lib/notification-daemon-1.0/notification-daemon
 | 
			
		||||
exec /usr/bin/xbrlapi --quiet
 | 
			
		||||
exec if [ "$(gsettings get org.gnome.desktop.a11y.applications screen-reader-enabled)" != "true" ]; then gsettings set org.gnome.desktop.a11y.applications screen-reader-enabled true&& notify-send "QT5 accessibility enabled. You need to restart ratpoison for the changes to take affect.";fi
 | 
			
		||||
exec /usr/bin/orca
 | 
			
		||||
 | 
			
		||||
# Alias Section
 | 
			
		||||
alias close_window exec ratpoison -c delete
 | 
			
		||||
alias ratpoison_keybindings exec f=$(mktemp);ratpoison -c "help root" > $f && yad --text-info --show-cursor --title "Ratpoison Keybindings" --button "Close:0" --filename "$f";rm "$f"
 | 
			
		||||
alias music_player_previous_track exec playerctl previous && notify-send "$(playerctl metadata -f '{{title}} by {{artist}}')"
 | 
			
		||||
alias music_player_play exec playerctl play && notify-send "$(playerctl metadata -f '{{title}} by {{artist}}')"
 | 
			
		||||
alias music_player_pause exec playerctl play-pause && notify-send "$(playerctl metadata -f '{{title}} by {{artist}} {{status}}')"
 | 
			
		||||
alias music_player_stop exec playerctl stop
 | 
			
		||||
alias music_player_next_track exec playerctl next && notify-send "$(playerctl metadata -f '{{title}} by {{artist}}')"
 | 
			
		||||
alias music_player_decrease_volume exec playerctl volume 0.05-
 | 
			
		||||
alias music_player_increase_volume exec playerctl volume 0.05+
 | 
			
		||||
alias music_player_show_info exec notify-send "$(playerctl metadata -f '{{title}} by {{artist}} from {{album}} via {{playerName}}')"
 | 
			
		||||
alias run_dialog exec historyPath="${XDG_CONFIG_HOME:-$HOME/.config}/strychnine";if ! [ -d "$historyPath" ]; then mkdir -p "$historyPath";fi;write_history(){ oldHistory="$(grep -v "$txt" "$historyPath/history" | head -n 49)";echo -e "$txt\n$oldHistory" | sed 's/^$//g' > "$historyPath/history"; };if [ -f "$historyPath/history" ]; then txt=$(yad --entry --editable --title "Ratpoison" --text "Execute program or enter file" --button "Open:0" --separator "\n" --rest "$historyPath/history");else txt=$(yad --entry --title "Ratpoison" --text "Execute program or enter file" --button "Open:0");fi;if [ -z "$txt" ]; then exit 0;fi;if [[ "$txt" =~ ^ftp://|http://|https://|www.* ]]; then /usr/bin/brave $txt;write_history;exit 0;fi;if [[ "$txt" =~ ^mailto://.* ]]; then xdg-email $txt;write_history;exit 0;fi;if [[ "$txt" =~ ^man://.* ]]; then eval "${txt/:\/\// }" | yad --text-info --show-cursor --button "Close:0" --title "Ratpoison" -;write_history;exit 0;fi;if command -v "$(echo "$txt" | cut -d " " -f1)" &> /dev/null ; then eval $txt& else xdg-open $txt&fi;write_history;exit 0
 | 
			
		||||
alias run_in_terminal_dialog exec c="$(yad --entry --title "Ratpoison" --text "Enter command:")" && /usr/bin/lxterminal -e $c
 | 
			
		||||
alias set_window_name exec t="$(yad --entry --title "Ratpoison" --text "Enter window name") && ratpoison -c "title $t"
 | 
			
		||||
alias show_date exec notify-send "$(date +"%A, %B %d, %Y%n%I:%M%p")"
 | 
			
		||||
alias ratpoison_version exec notify-send "$(ratpoison -c "version")"
 | 
			
		||||
alias window_menu exec ifs="$IFS";IFS=$'\n';w="$(yad --list --title "Ratpoison" --text "Select Window" --column "Select" $(ratpoison -c "windows"))";IFS="$ifs";ratpoison -c "select ${w:0:1}"
 | 
			
		||||
alias run_ratpoison_command exec c="$(yad --entry --title "Ratpoison" --text="Enter Ratpoison command:")" && ratpoison -c "$c"
 | 
			
		||||
alias reload_ratpoison_configuration exec ratpoison -c "source /home/storm/.ratpoisonrc"&¬ify-send "Ratpoison configuration reloaded"
 | 
			
		||||
addhook newwindow announce_new_window
 | 
			
		||||
addhook key announce_top_level_key
 | 
			
		||||
alias announce_new_window exec bash -c 'excludedWindowNames="zenity";winName="$(ratpoison -c "info %t")";if ! [[ "$winName" =~ ^(${excludedWindowNames})$ ]]; then play -n synth .25 sin 440:880 sin 480:920 remix - norm -3 pitch -500;fi'
 | 
			
		||||
alias announce_top_level_key exec play -qV0 "|sox -np synth .07 sq 400" "|sox -np synth .5 sq 800" fade h 0 .5 .5 norm -20
 | 
			
		||||
alias go_to_workspace_one exec rpws 1
 | 
			
		||||
alias go_to_workspace_two exec rpws 2
 | 
			
		||||
alias go_to_workspace_three exec rpws 3
 | 
			
		||||
alias go_to_workspace_four exec rpws 4
 | 
			
		||||
EOF
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# enable and start nodm
 | 
			
		||||
sudo systemctl enable nodm --now
 | 
			
		||||
@@ -38,9 +38,17 @@ while [[ "$choice" != "Exit" ]]; do
 | 
			
		||||
            ./.includes/chuser.sh $(inputbox "Please enter the new username, letters, dashes, and underscores only.")
 | 
			
		||||
            restart
 | 
			
		||||
        ;;
 | 
			
		||||
        "Install Mate Desktop")
 | 
			
		||||
            ./.includes/gui.sh mate
 | 
			
		||||
        ;;
 | 
			
		||||
        "Install Ratpoison Windowmanager")
 | 
			
		||||
            ./.includes/gui.sh ratpoison
 | 
			
		||||
        ;;
 | 
			
		||||
    esac
 | 
			
		||||
    choice="$(menulist \
 | 
			
		||||
        "Change username" \
 | 
			
		||||
        "Install Mate Desktop" \
 | 
			
		||||
        "Install Ratpoison Windowmanager" \
 | 
			
		||||
        "Set up gaming" \
 | 
			
		||||
        "Exit" \
 | 
			
		||||
    )"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user