#!/usr/bin/env bash #echo "run: ${0}" ## ## ## Link ## ## * https://github.com/samwhelp/make-voidlinux-look-like-anduinos/blob/main/make-voidlinux-look-like-anduinos.sh ## * https://raw.githubusercontent.com/samwhelp/make-voidlinux-look-like-anduinos/refs/heads/main/make-voidlinux-look-like-anduinos.sh ## ## ## ## Option ## REF_GNOME_SHELL_EXTENSIONS_INSTALL=( "dash-to-panel@jderose9.github.com" "arcmenu@arcmenu.com" "blur-my-shell@aunetx" "date-menu-formatter@marcinjakubowski.github.com" "user-theme@gnome-shell-extensions.gcampax.github.com" "status-icons@gnome-shell-extensions.gcampax.github.com" "gtk4-ding@smedius.gitlab.com" ) REF_GNOME_SHELL_EXTENSIONS_ENABLE=( "dash-to-panel@jderose9.github.com" "arcmenu@arcmenu.com" "blur-my-shell@aunetx" "date-menu-formatter@marcinjakubowski.github.com" "user-theme@gnome-shell-extensions.gcampax.github.com" "status-icons@gnome-shell-extensions.gcampax.github.com" "gtk4-ding@smedius.gitlab.com" ) REF_GNOME_SHELL_EXTENSIONS_DISABLE=( "apps-menu@gnome-shell-extensions.gcampax.github.com" "places-menu@gnome-shell-extensions.gcampax.github.com" "window-list@gnome-shell-extensions.gcampax.github.com" "dash-to-dock@micxgx.gmail.com" ) ## ## ## Util / Command ## is_function_exist () { if type -p "${1}" > /dev/null; then return 0 else return 1 fi } # is_command_exist () { # if command -v "${1}" > /dev/null; then # return 0 # else # return 1 # fi # } is_command_exist () { if [ -x "$(command -v ${1})" ]; then return 0 else return 1 fi } ## ## ################################################################################ ## ## ## ## ## Model ## ## ## ## Model / Package ## mod_package_master_install () { sys_package_install sys_package_remove } sys_package_install () { echo echo sudo xbps-install -Su gnome-shell gnome-tweaks gnome-menus git wget sassc echo sudo xbps-install -Su gnome-shell gnome-tweaks gnome-menus git wget sassc } sys_package_remove () { return 0 } ## ## ## Model / Theme ## mod_theme_master_install () { sys_theme_install_logo sys_theme_install_wallpaper sys_theme_install_fluent_gtk_theme sys_theme_install_fluent_icon_theme } sys_theme_install_fluent_gtk_theme () { #sys_theme_install_fluent_gtk_theme_via_git_clone sys_theme_install_fluent_gtk_theme_via_wget_archive } sys_theme_install_fluent_gtk_theme_via_git_clone () { if [ -e "${HOME}/.themes/Fluent-round" ]; then return 0 fi git clone https://github.com/vinceliuice/Fluent-gtk-theme /tmp/fluent-gtk-theme cd /tmp/fluent-gtk-theme ./install.sh --tweaks noborder round --theme all cd "${OLDPWD}" } sys_theme_install_fluent_gtk_theme_via_wget_archive () { if [ -e "${HOME}/.themes/Fluent-round" ]; then return 0 fi wget -c 'https://github.com/vinceliuice/Fluent-gtk-theme/archive/refs/heads/master.tar.gz' -O '/tmp/Fluent-gtk-theme-master.tar.gz' cd /tmp tar xf Fluent-gtk-theme-master.tar.gz cd "${OLDPWD}" cd /tmp/Fluent-gtk-theme-master ./install.sh --tweaks noborder round --theme all cd "${OLDPWD}" } sys_theme_install_fluent_icon_theme () { #sys_theme_install_fluent_icon_theme_via_git_clone sys_theme_install_fluent_icon_theme_via_wget_archive } sys_theme_install_fluent_icon_theme_via_git_clone () { if [ -e "${HOME}/.local/share/icons/Fluent" ]; then return 0 fi git clone https://github.com/vinceliuice/Fluent-icon-theme /tmp/fluent-icon-theme cd /tmp/fluent-icon-theme ./install.sh --all cd "${OLDPWD}" cd /tmp/fluent-icon-theme/cursors ./install.sh cd "${OLDPWD}" } sys_theme_install_fluent_icon_theme_via_wget_archive () { if [ -e "${HOME}/.local/share/icons/Fluent" ]; then return 0 fi wget -c 'https://github.com/vinceliuice/Fluent-icon-theme/archive/refs/heads/master.tar.gz' -O '/tmp/Fluent-icon-theme-master.tar.gz' cd /tmp tar xf Fluent-icon-theme-master.tar.gz cd "${OLDPWD}" cd /tmp/Fluent-icon-theme-master ./install.sh --all cd "${OLDPWD}" cd /tmp/Fluent-icon-theme-master/cursors ./install.sh cd "${OLDPWD}" } sys_theme_install_wallpaper () { if [ -e "/usr/share/backgrounds/Fluent-building-night.png" ]; then return 0 fi echo echo sudo mkdir -p "/usr/share/backgrounds" echo sudo mkdir -p "/usr/share/backgrounds" cd "/usr/share/backgrounds" echo echo sudo wget -c "https://raw.githubusercontent.com/Anduin2017/AnduinOS/refs/heads/1.5/src/mods/23-wallpaper-mod/Fluent-building-night.png" -O "./Fluent-building-night.png" echo sudo wget -c "https://raw.githubusercontent.com/Anduin2017/AnduinOS/refs/heads/1.5/src/mods/23-wallpaper-mod/Fluent-building-night.png" -O "./Fluent-building-night.png" echo echo sudo wget -c "https://raw.githubusercontent.com/Anduin2017/AnduinOS/refs/heads/1.5/src/mods/23-wallpaper-mod/Fluent-building-light.png" -O "./Fluent-building-light.png" echo sudo wget -c "https://raw.githubusercontent.com/Anduin2017/AnduinOS/refs/heads/1.5/src/mods/23-wallpaper-mod/Fluent-building-light.png" -O "./Fluent-building-light.png" sudo ln -sf Fluent-building-night.png next.png sudo ln -sf next.png default.png sudo ln -sf next.png default-login.png sudo ln -sf next.png default-grub.png cd "${OLDPWD}" } sys_theme_install_logo () { if [ -e "/usr/share/images/anduinos/logo.svg" ]; then return 0 fi echo echo sudo mkdir -p "/usr/share/images/anduinos" echo sudo mkdir -p "/usr/share/images/anduinos" echo echo sudo wget -c "https://raw.githubusercontent.com/Anduin2017/AnduinOS/47ef341b4ab9119905e3abcfd1949d718698ac14/src/mods/30-gnome-extension-arcmenu-patch/logo.svg" -O "/usr/share/images/anduinos/logo.svg" echo sudo wget -c "https://raw.githubusercontent.com/Anduin2017/AnduinOS/47ef341b4ab9119905e3abcfd1949d718698ac14/src/mods/30-gnome-extension-arcmenu-patch/logo.svg" -O "/usr/share/images/anduinos/logo.svg" } ## ## ## Model / Tool ## mod_tool_config_install () { sys_tool_config_install_for_nautilus sys_tool_config_install_for_gedit sys_tool_config_install_for_gnome_text_editor sys_tool_config_install_for_gnome_terminal sys_tool_config_install_for_gnome_console sys_tool_config_install_for_ptyxis sys_tool_config_install_for_mate_terminal sys_tool_config_install_for_nemo sys_tool_config_install_for_mousepad sys_tool_config_install_for_plank } sys_tool_config_install_for_nautilus () { dconf load / << __EOF__ [org/gnome/nautilus/preferences] click-policy='double' show-hidden-files=true default-sort-in-reverse-order=false default-sort-order='name' default-folder-viewer='list-view' search-filter-time-type='last_modified' [org/gnome/nautilus/list-view] use-tree-view=false default-zoom-level='medium' default-visible-columns=['name', 'size', 'date_modified', 'starred'] [org/gnome/nautilus/icon-view] default-zoom-level='medium' [org/gtk/gtk4/settings/file-chooser] expand-folders=false show-hidden=true sort-column='name' sort-directories-first=true sort-order='ascending' [org/gtk/settings/file-chooser] expand-folders=false show-hidden=true sort-column='name' sort-directories-first=true sort-order='ascending' __EOF__ } sys_tool_config_install_for_gedit () { dconf load / << __EOF__ [org/gnome/gedit/state/window] side-panel-active-page='GeditFileBrowserPanel' [org/gnome/gedit/preferences/ui] side-panel-visible=true show-tabs-mode='auto' [org/gnome/gedit/preferences/editor] display-line-numbers=true display-right-margin=true highlight-current-line=true insert-spaces=false tabs-size=uint32 4 #scheme='oblivion' style-scheme-for-dark-theme-variant='oblivion' style-scheme-for-light-theme-variant='solarized-light' use-default-font=false editor-font='Monospace 14' [org/gnome/gedit/preferences/encodings] candidate-encodings=['UTF-8', 'ISO-8859-15', 'UTF-16', 'BIG5', 'GB2312'] [org/gnome/gedit/plugins] active-plugins=['filebrowser', 'quickhighlight', 'modelines', 'sort', 'externaltools', 'openlinks', 'docinfo', 'pythonconsole', 'spell'] [org/gnome/gedit/plugins/externaltools] use-system-font=false font='Monospace 14' [org/gnome/gedit/plugins/pythonconsole] use-system-font=false font='Monospace 14' __EOF__ } sys_tool_config_install_for_gnome_text_editor () { dconf load / << __EOF__ [org/gnome/TextEditor] auto-indent=true auto-save-delay=uint32 3 custom-font='Monospace 12' discover-settings=true draw-spaces='[]' enable-snippets=false highlight-current-line=true highlight-matching-brackets=true indent-style='tab' indent-width=-1 keybindings='default' last-save-directory='' line-height=1.2 recolor-window=true restore-session=false right-margin-position=80 show-grid=false show-line-numbers=true show-map=true show-right-margin=true spellcheck=true style-scheme='oblivion' style-variant='dark' tab-width=uint32 4 use-system-font=false wrap-text=true __EOF__ } sys_tool_config_install_for_gnome_terminal () { dconf load / << __EOF__ [org/gnome/terminal/legacy] default-show-menubar=false [org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-c897e6d979b9] scrollbar-policy='never' use-system-font=false font='Monospace 14' use-theme-colors=false background-color='rgb(0,0,0)' foreground-color='rgb(170,170,170)' palette=['rgb(46,52,54)', 'rgb(204,0,0)', 'rgb(78,154,6)', 'rgb(196,160,0)', 'rgb(52,101,164)', 'rgb(117,80,123)', 'rgb(6,152,154)', 'rgb(211,215,207)', 'rgb(85,87,83)', 'rgb(239,41,41)', 'rgb(138,226,52)', 'rgb(252,233,79)', 'rgb(114,159,207)', 'rgb(173,127,168)', 'rgb(52,226,226)', 'rgb(238,238,236)'] __EOF__ } sys_tool_config_install_for_gnome_console () { dconf load / << __EOF__ [org/gnome/Console] ignore-scrollback-limit=true scrollback-lines=10000 theme='night' transparency=true font-scale=1.0 use-system-font=false custom-font='Monospace 12' __EOF__ } sys_tool_config_install_for_ptyxis () { dconf load / << __EOF__ [org/gnome/Ptyxis] profile-uuids=['578c7b2df2d9745eebe348d968ee32b4'] default-profile-uuid='578c7b2df2d9745eebe348d968ee32b4' interface-style='dark' font-name='Monospace 12' use-system-font=false restore-session=false [org/gnome/Ptyxis/Profiles/578c7b2df2d9745eebe348d968ee32b4] label='Default' opacity=0.9 palette='Vs Code' [org/gnome/Ptyxis/Shortcuts] zoom-in='equal' zoom-one='0' zoom-out='minus' __EOF__ } sys_tool_config_install_for_mate_terminal () { dconf load / << __EOF__ [org/mate/terminal/profiles/default] visible-name='Default' default-show-menubar=false scrollbar-position='hidden' scroll-on-keystroke=true silent-bell=true cursor-blink-mode='off' use-theme-colors=false use-custom-default-size=true use-system-font=false font='Monospace 14' allow-bold=true bold-color='#000000000000' background-type='transparent' background-darkness=0.85 background-color='#000000000000' foreground-color='#AAAAAAAAAAAA' palette='#000000000000:#CCCC00000000:#4E4D9A9A0605:#C4C3A0A00000:#34346564A4A3:#7575504F7B7B:#060598979A9A:#D3D3D7D6CFCF:#555457565352:#EFEF29282928:#8A89E2E23434:#FCFBE9E84F4F:#72729F9ECFCF:#ADAC7F7EA8A8:#3434E2E2E2E2:#EEEDEEEDECEB' __EOF__ } sys_tool_config_install_for_nemo () { dconf load / << __EOF__ [org/nemo/desktop] font='Sans 12' #font='Monospace 12' [org/nemo/preferences] show-hidden-files=true ignore-view-metadata=true default-folder-viewer='list-view' click-policy='double' show-open-in-terminal-toolbar=true show-reload-icon-toolbar=true show-new-folder-icon-toolbar=true date-format='iso' never-queue-file-ops=true inherit-folder-viewer=false show-full-path-titles=true date-font-choice='no-mono' [org/nemo/compact-view] default-zoom-level='standard' [org/nemo/icon-view] default-zoom-level='standard' [org/nemo/list-view] default-zoom-level='standard' __EOF__ } sys_tool_config_install_for_mousepad () { dconf load / << __EOF__ [org/xfce/mousepad/preferences/file] add-last-end-of-line=true [org/xfce/mousepad/preferences/view] auto-indent=true color-scheme='oblivion' font-name='Monospace 16' highlight-current-line=true match-braces=true show-line-endings=false show-line-numbers=true show-right-margin=true show-whitespace=true smart-backspace=false smart-home-end='after' tab-width=uint32 4 use-default-monospace-font=false word-wrap=true [org/xfce/mousepad/preferences/window] always-show-tabs=true cycle-tabs=true old-style-menu=true statusbar-visible=true toolbar-style='icons' toolbar-visible=true [org/xfce/mousepad/state/search] highlight-all=true [org/xfce/mousepad/state/window] fullscreen=false height=uint32 628 maximized=false width=uint32 668 __EOF__ } sys_tool_config_install_for_plank () { dconf load / << __EOF__ [net/launchpad/plank/dock/settings] auto-pinning=false hide-mode='none' theme='Gtk+' icon-size=36 zoom-enabled=true zoom-percent=150 #dock-items=['pcmanfm-qt.dockitem', 'org.xfce.mousepad.dockitem', 'firefox.dockitem', 'sakura.dockitem', 'desktop.dockitem'] dock-items=['thunar.dockitem', 'org.xfce.mousepad.dockitem', 'firefox.dockitem', 'xfce4-terminal.dockitem', 'xfce-settings-manager.dockitem', 'xfce-ui-settings.dockitem', 'desktop.dockitem'] __EOF__ } ## ## ## Model / Gnome Shell / Main ## mod_gnome_shell_main_config_install () { sys_gnome_shell_main_config_install_for_main sys_gnome_shell_main_config_install_for_workspace_main sys_gnome_shell_main_config_install_for_favorite_apps sys_gnome_shell_main_config_install_for_theme_main sys_gnome_shell_main_config_install_for_wallpaper_main } sys_gnome_shell_main_config_install_for_main () { dconf load / << __EOF__ [org/gnome/desktop/wm/preferences] action-double-click-titlebar='toggle-maximize' action-middle-click-titlebar='toggle-shade' action-right-click-titlebar='menu' button-layout='appmenu:minimize,maximize,close' mouse-button-modifier='' resize-with-right-button=true raise-on-click=true focus-mode='click' focus-new-windows='smart' [org/gnome/desktop/peripherals/keyboard] numlock-state=false remember-numlock-state=true [org/gnome/desktop/sound] event-sounds=false [org/gnome/desktop/interface] clock-format='24h' clock-show-seconds=true clock-show-weekday=true enable-hot-corners=true __EOF__ } sys_gnome_shell_main_config_install_for_workspace_main () { dconf load / << __EOF__ [org/gnome/desktop/wm/preferences] num-workspaces=5 workspace-names=['File', 'Edit', 'Web', 'Term', 'Misc'] [org/gnome/mutter] dynamic-workspaces=false __EOF__ } sys_gnome_shell_main_config_install_for_favorite_apps () { dconf load / << __EOF__ [org/gnome/shell] favorite-apps=['org.gnome.Nautilus.desktop', 'org.gnome.TextEditor.desktop', 'org.mozilla.firefox.desktop', 'org.gnome.Ptyxis.desktop', 'org.gnome.Settings.desktop', 'org.gnome.tweaks.desktop', 'org.gnome.Extensions.desktop', 'com.mattjakeman.ExtensionManager.desktop', 'org.gnome.Software.desktop'] ## ## ## Terminal / Sample ## #[org/gnome/desktop/default-applications.terminal] #exec='xdg-terminal-exec' #exec-arg='--' ## ## ## Terminal / Use Case ## [org/gnome/desktop/default-applications.terminal] exec='ptyxis' exec-arg='' [org/mate/applications-terminal] exec='ptyxis' exec-arg='' [org/cinnamon/desktop/default-applications.terminal] exec='ptyxis' exec-arg='' __EOF__ } sys_gnome_shell_main_config_install_for_theme_main () { dconf load / << __EOF__ [org/gnome/desktop/interface] color-scheme='prefer-dark' gtk-theme='Fluent-round-Dark' icon-theme='Fluent-dark' cursor-theme='Fluent-dark-cursors' cursor-size=24 [org/gnome/desktop/wm/preferences] theme='Fluent-round-Dark' [org/gnome/shell/extensions/user-theme] name='Fluent-round-Dark' __EOF__ } sys_gnome_shell_main_config_install_for_wallpaper_main () { dconf load / << __EOF__ [org/gnome/desktop/background] picture-options='zoom' picture-uri='file:///usr/share/backgrounds/default.png' picture-uri-dark='file:///usr/share/backgrounds/default.png' [org/gnome/desktop/screensaver] picture-uri='file:///usr/share/backgrounds/default-login.png' __EOF__ } ## ## ## Model / Gnome Shell / Keybind ## mod_gnome_shell_keybind_config_install () { sys_gnome_shell_keybind_config_install_for_main sys_gnome_shell_keybind_config_install_for_custom } sys_gnome_shell_keybind_config_install_for_main () { dconf load / << __EOF__ [org/gnome/shell/keybindings] toggle-application-view=['grave', 'Up'] toggle-overview=['Tab', 'Down'] toggle-message-tray=['n'] toggle-quick-settings=['m'] focus-active-notification=['b'] screenshot=['Print'] screenshot-window=['Print'] show-screenshot-ui=['Print'] show-screen-recording-ui=['v'] [org/gnome/desktop/wm/keybindings] begin-move=['e'] begin-resize=['r'] close=['q', 'F4'] cycle-group=@as [] cycle-group-backward=@as [] cycle-panels=@as [] cycle-panels-backward=@as [] cycle-windows=['Escape', 'Right'] cycle-windows-backward=['Escape', 'Left'] maximize=['Up'] minimize=['x'] move-to-workspace-1=['exclam'] move-to-workspace-10=['parenright'] move-to-workspace-2=['at'] move-to-workspace-3=['numbersign'] move-to-workspace-4=['dollar'] move-to-workspace-5=['percent'] move-to-workspace-6=['asciicircum'] move-to-workspace-7=['ampersand'] move-to-workspace-8=['asterisk'] move-to-workspace-9=['parenleft'] show-desktop=['d'] switch-applications=@as [] switch-applications-backward=@as [] switch-group=@as [] switch-group-backward=@as [] switch-panels=@as [] switch-panels-backward=@as [] switch-to-workspace-1=['1'] switch-to-workspace-10=['0'] switch-to-workspace-2=['2'] switch-to-workspace-3=['3'] switch-to-workspace-4=['4'] switch-to-workspace-5=['5'] switch-to-workspace-6=['6'] switch-to-workspace-7=['7'] switch-to-workspace-8=['8'] switch-to-workspace-9=['9'] switch-to-workspace-down=@as [] switch-to-workspace-last=['z'] switch-to-workspace-left=['a', 'Left'] switch-to-workspace-right=['s', 'Right'] switch-to-workspace-up=@as [] switch-windows=['s'] switch-windows-backward=['a'] toggle-above=['t'] toggle-fullscreen=['f', 'F11'] toggle-maximized=['w'] toggle-on-all-workspaces=['g'] #toggle-shaded=['y'] unmaximize=['Down'] [org/gnome/mutter] overlay-key='' [org/gnome/mutter/keybindings] toggle-tiled-left=['Left'] toggle-tiled-right=['Right'] [org/gnome/mutter/wayland/keybindings] restore-shortcuts=[''] [org/gnome/settings-daemon/plugins/media-keys] screensaver=['x'] __EOF__ } sys_gnome_shell_keybind_config_install_for_custom () { dconf load / << __EOF__ [org/gnome/settings-daemon/plugins/media-keys] custom-keybindings=['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/system-logout/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/system-shutdown/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/wallpaper-shuf/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/wallpaper-default/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/control-center/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/rofi-show-run/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/rofi-show-window/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/rofi-show-drun/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal-1/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal-2/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal-3/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal-4/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/text-editor/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/web-browser/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/file-manager/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/file-manager-1/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/volume-control/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/volume-toggle-mute/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/volume-decrease/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/volume-increase/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/volume-decrease-slowly/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/volume-increase-slowly/'] [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/file-manager-1] binding='g' command='thunar' name='File_Manager-1' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/file-manager] binding='f' command='nautilus' name='File_Manager' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/rofi-show-drun] binding='d' command='rofi -show drun -show-icons' name='Rofi_Show_Drun' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/rofi-show-run] binding='r' command='rofi -show run' name='Rofi_Show_Run' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/rofi-show-window] binding='w' command='rofi -show window -show-icons' name='Rofi_Show_Window' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/control-center] binding='s' command='gnome-control-center' name='Control_Center' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/system-logout] binding='x' command='gnome-session-quit --logout' name='System_Logout' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/system-shutdown] binding='z' command='gnome-session-quit --power-off' name='System_Shutdown' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal-1] binding='a' command='ptyxis --new-window' name='Terminal-1' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal-2] binding='a' command='xfce4-terminal' name='Terminal-2' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal-3] binding='t' command='gnome-terminal' name='Terminal-3' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal-4] binding='t' command='sakura' name='Terminal-4' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/terminal] binding='Return' command='ptyxis --new-window' name='Terminal' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/text-editor] binding='e' command='gnome-text-editor' name='Text_Editor' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/volume-control] binding='v' command='pavucontrol' name='Volume_Control' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/volume-decrease-slowly] binding='comma' command='amixer -q -D pulse sset Master 1%- unmute' name='Volume_Decrease_Slowly' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/volume-decrease] binding='comma' command='amixer -q -D pulse sset Master 5%- unmute' name='Volume_Decrease' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/volume-increase-slowly] binding='period' command='amixer -q -D pulse sset Master 1%+ unmute' name='Volume_Increase_Slowly' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/volume-increase] binding='period' command='amixer -q -D pulse sset Master 5%+ unmute' name='Volume_Decrease' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/volume-toggle-mute] binding='m' command='amixer -q -D pulse sset Master toggle' name='Volume_Toggle_Mute' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/wallpaper-default] binding='w' command='wallpaper-select-gnome default' name='Wallpaper_Default' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/wallpaper-shuf] binding='w' command='wallpaper-select-gnome shuf_favorite' name='Wallpaper_Shuf' [org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/web-browser] binding='b' command='firefox-esr --new-tab about:blank' name='Web_Browser' __EOF__ } ## ## ## Portal ## mod_gnome_shell_master_config_install_prepare () { return 0 } mod_gnome_shell_master_config_install_main () { mod_gnome_shell_main_config_install mod_gnome_shell_keybind_config_install mod_tool_config_install } mod_gnome_shell_master_config_install_done () { #sys_tips_on_done return 0 } mod_gnome_shell_master_config_install () { mod_gnome_shell_master_config_install_prepare mod_gnome_shell_master_config_install_main mod_gnome_shell_master_config_install_done } ## ## ################################################################################ ## ## ## ## ## Model / Extension ## sys_gnome_shell_extensions_install () { local the_extension_list=${REF_GNOME_SHELL_EXTENSIONS_INSTALL[@]} local the_extension_id for the_extension_id in ${the_extension_list[@]}; do echo echo gext -F install "${the_extension_id}" gext -F install "${the_extension_id}" echo echo echo mkdir -p "${HOME}/.local/share/gnome-shell/extensions/${the_extension_id}/schemas" mkdir -p "${HOME}/.local/share/gnome-shell/extensions/${the_extension_id}/schemas" echo echo echo glib-compile-schemas "${HOME}/.local/share/gnome-shell/extensions/${the_extension_id}/schemas" glib-compile-schemas "${HOME}/.local/share/gnome-shell/extensions/${the_extension_id}/schemas" echo done } sys_gnome_shell_extensions_enable () { local the_extension_list=${REF_GNOME_SHELL_EXTENSIONS_ENABLE[@]} local the_extension_id for the_extension_id in ${the_extension_list[@]}; do echo echo gext enable "${the_extension_id}" gext enable "${the_extension_id}" echo done } sys_gnome_shell_extensions_disable () { local the_extension_list=${REF_GNOME_SHELL_EXTENSIONS_DISABLE[@]} local the_extension_id for the_extension_id in ${the_extension_list[@]}; do echo echo gext disable "${the_extension_id}" gext disable "${the_extension_id}" echo done } ## ## ## Model / Config ## sys_gnome_shell_extensions_config () { sys_gnome_shell_extensions_config_for_dash_to_dock sys_gnome_shell_extensions_config_for_dash_to_panel sys_gnome_shell_extensions_config_for_arcmenu sys_gnome_shell_extensions_config_for_date_menu_formatter sys_gnome_shell_extensions_config_for_blur_my_shell return } sys_gnome_shell_extensions_config_for_dash_to_dock () { dconf load / << __EOF__ [org/gnome/shell/extensions/dash-to-dock] apply-custom-theme=false autohide=false autohide-in-fullscreen=true background-color='#ffffff' background-opacity=0.80000000000000004 click-action='cycle-windows' dash-max-icon-size=36 dock-fixed=true dock-position='BOTTOM' extend-height=false isolate-locations=true middle-click-action='launch' scroll-action='cycle-windows' shift-click-action='previews' shift-middle-click-action='quit' shortcut=[''] shortcut-text='' show-mounts=false show-show-apps-button=true show-trash=false show-windows-preview=false transparency-mode='DYNAMIC' __EOF__ } sys_gnome_shell_extensions_config_for_dash_to_panel () { dconf load / << __EOF__ [org/gnome/shell/extensions/dash-to-panel] animate-appicon-hover-animation-extent={'RIPPLE': 4, 'PLANK': 4, 'SIMPLE': 1} click-action='CYCLE-MIN' dot-position='BOTTOM' group-apps=true hotkeys-overlay-combo='TEMPORARILY' intellihide=false isolate-workspaces=true panel-anchors='{"AUO-0x00000000":"MIDDLE","unknown-unknown":"MIDDLE"}' panel-element-positions='{"AUO-0x00000000":[{"element":"showAppsButton","visible":false,"position":"stackedTL"},{"element":"activitiesButton","visible":false,"position":"stackedTL"},{"element":"leftBox","visible":true,"position":"stackedTL"},{"element":"centerBox","visible":true,"position":"stackedBR"},{"element":"taskbar","visible":true,"position":"centerMonitor"},{"element":"rightBox","visible":true,"position":"stackedBR"},{"element":"systemMenu","visible":true,"position":"stackedBR"},{"element":"dateMenu","visible":true,"position":"stackedBR"},{"element":"desktopButton","visible":true,"position":"stackedBR"}],"unknown-unknown":[{"element":"showAppsButton","visible":false,"position":"stackedTL"},{"element":"activitiesButton","visible":false,"position":"stackedTL"},{"element":"leftBox","visible":true,"position":"stackedTL"},{"element":"centerBox","visible":true,"position":"stackedBR"},{"element":"taskbar","visible":true,"position":"centerMonitor"},{"element":"rightBox","visible":true,"position":"stackedBR"},{"element":"systemMenu","visible":true,"position":"stackedBR"},{"element":"dateMenu","visible":true,"position":"stackedBR"},{"element":"desktopButton","visible":true,"position":"stackedBR"}]}' panel-lengths='{}' panel-positions='{}' panel-sizes='{}' prefs-opened=false scroll-icon-action='CYCLE_WINDOWS' scroll-panel-action='SWITCH_WORKSPACE' shortcut=['0'] shortcut-text='0' show-window-previews=false stockgs-keep-dash=false stockgs-keep-top-panel=false taskbar-locked=false window-preview-title-position='TOP' __EOF__ } sys_gnome_shell_extensions_config_for_arcmenu () { dconf load / << __EOF__ [org/gnome/shell/extensions/apps-menu] apps-menu-toggle-menu=['F3'] [org/gnome/shell/extensions/arcmenu] activate-on-hover=true arcmenu-hotkey=['F1'] arcmenu-hotkey-overlay-key-enabled=false enable-horizontal-flip=true force-menu-location='Off' hide-overview-on-startup=false hotkey-open-primary-monitor=false #menu-button-icon='start-here' menu-button-icon='/usr/share/images/anduinos/logo.svg' menu-button-icon-size=32 menu-button-padding=6 menu-item-grid-icon-size='Default' menu-item-icon-size='Large' menu-layout='Whisker' override-menu-theme=false position-in-panel='Center' prefs-visible-page=0 searchbar-default-top-location='Bottom' show-activities-button=true vert-separator=true __EOF__ } sys_gnome_shell_extensions_config_for_date_menu_formatter () { dconf load / << __EOF__ [org/gnome/shell/extensions/date-menu-formatter] formatter='01_luxon' pattern='HH:MM:ss \\n yyyy-MM-dd EEEE' text-align='center' use-default-calendar=true use-default-locale=true __EOF__ } sys_gnome_shell_extensions_config_for_blur_my_shell () { dconf load / << __EOF__ __EOF__ } ## ## ## Model / Gext ## mod_gnome_shell_extensions_cli_install () { if is_command_exist gext; then return fi sys_gnome_shell_extensions_cli_install } sys_gnome_shell_extensions_cli_install () { sys_gnome_shell_extensions_cli_install_via_pipx } sys_gnome_shell_extensions_cli_install_via_pipx () { sudo pipx install gnome-extensions-cli --global } ## ## ## Model / Pipx ## mod_python_pipx_install () { if is_command_exist pipx; then return fi sys_python_pipx_install } sys_python_pipx_install () { #sys_python_pipx_install_for_ubuntu #sys_python_pipx_install_for_debian #sys_python_pipx_install_for_fedora #sys_python_pipx_install_for_archlinux sys_python_pipx_install_for_voidlinux return 0 } sys_python_pipx_install_for_ubuntu () { sudo apt-get install -y pipx } sys_python_pipx_install_for_debian () { sudo apt-get install -y pipx } sys_python_pipx_install_for_fedora () { sudo dnf install pipx } sys_python_pipx_install_for_archlinux () { sudo pacman -Sy --needed python-pipx } sys_python_pipx_install_for_voidlinux () { sudo xbps-install -Su python3-pipx } ## ## ## Model / Tips ## sys_tips_on_done () { cat << __EOF__ ## ## ## Done ## ## It's done. ## ## Please Logout and Login. ## ## For Example: ## ## run to logout. ## ## \`\`\` sh ## gnome-session-quit ## \`\`\` ## ## Please check. ## ## For Example: ## ## * 'Super + w' to Maximize Window. ## * 'gsettings list-recursively | grep keybind' to see config via gsettings ## * 'dconf dump / | less' to see config via dconf ## __EOF__ } ## ## ## Portal ## mod_gnome_shell_layout_install_prepare () { mod_python_pipx_install mod_gnome_shell_extensions_cli_install } mod_gnome_shell_layout_install_main () { sys_gnome_shell_extensions_install sys_gnome_shell_extensions_enable sys_gnome_shell_extensions_disable sys_gnome_shell_extensions_config } mod_gnome_shell_layout_install_done () { #sys_tips_on_done return 0 } mod_gnome_shell_layout_install () { mod_gnome_shell_layout_install_prepare mod_gnome_shell_layout_install_main mod_gnome_shell_layout_install_done } mod_gnome_shell_master_layout_install () { mod_gnome_shell_layout_install } mod_gnome_shell_master_install () { mod_package_master_install mod_gnome_shell_master_config_install mod_gnome_shell_master_layout_install mod_theme_master_install sys_tips_on_done } ## ## ## Main ## __main__ () { mod_gnome_shell_master_install } __main__