From bf55eae3fcaa7c6000fd49eabb5dcc93f3b5f16e Mon Sep 17 00:00:00 2001 From: Zach DeCook Date: Sun, 25 Jan 2026 10:15:44 -0500 Subject: almost done hyprland-welcome --- hyprland-welcome | 124 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 hyprland-welcome diff --git a/hyprland-welcome b/hyprland-welcome new file mode 100644 index 0000000..f0be4f4 --- /dev/null +++ b/hyprland-welcome @@ -0,0 +1,124 @@ +#!/bin/sh + +one_welcome() { + zenity --question \ + --title "Welcome to Hyprland!" \ + --text "We hope you enjoy your stay. In order to help you get accomodated to Hyprland, we prepared a little basic setup tutorial, just for you. + +If you feel adventurous, or are an advanced user, you can click the "'"'"Thanks, but I don't need help"'"'" button on the bottom. + +If you want to manually launch this welcome app, just execute hyprland-welcome in your terminal. + +Click the "'"'"next"'"'" button to proceed to the next step of your setup :)" \ + --cancel-label "Thanks, but I don't need help" \ + --ok-label "Next" +} +register_app_state() { + label="$1" + shift + installed="$(which "$@" | xargs -I{} basename "{}" | tr '\n' ' ')" + running="$(pgrep -a "$(echo "$@" |tr ' ' '|')" |cut -d' ' -f2 |xargs -I{} basename "{}" | tr '\n' ' ')" + printf "• %s: " "$label" + if test -n "$running"; then + printf "☑️%s" "$running" + elif test -n "$installed"; then + printf "✅%s" "$installed" + else + printf "❌Please install one of" + printf " %s," "$@" |sed 's/,$//g' + fi +} +two_getting() { + zenity --info \ + --title "Getting started" \ + --text "The first thing we'll need to do is get some packages installed that you need in order for your system to be working properly. + +Use SUPER+Q to launch a terminal. +Use SUPER+M to exit hyprland. +Supported terminals: kitty, alacritty, foot, wezterm, konsole, gnome-terminal, xterm. + +Green means the component is found to be installed, blue means it's running. + +$(register_app_state "Authentication agent*" "hyprpolkitagent" "polkit-kde-agent") +$(register_app_state "File manager*" "dolphin" "ranger" "thunar" "pcmanfm" "nautilus" "nemo" "nnn" "yazi") +$(register_app_state "Terminal*" "kitty" "alacritty" "wezterm" "foot" "konsole" "gnome-terminal") +$(register_app_state "Pipewire*" "pipewire" "wireplumber") +$(register_app_state "Wallpaper" "hyprpaper" "swww" "awww" "swaybg" "wpaperd") +$(register_app_state "XDG Desktop Portal*" "xdg-desktop-portal-hyprland") +$(register_app_state "Notification Daemon*" "dunst", "mako" "swaync") +$(register_app_state "Status bar / shell" "quickshell" "waybar" "eww" "ags") +$(register_app_state "Application launcher" "hyprlauncher" "fuzzel" "wofi" "rofi" "anyrun" "walker" "tofi") +$(register_app_state "Clipboard*" "wl-copy") +" \ + --ok-label "Next" +} +add_list() { + label="$1" + shift + installed="$(which "$@" | xargs -I{} basename "{}" | tr '\n' '|')" + printf -- "--add-list '%s' --list-values '%s'" "$label" "$installed" +} +three_default() { + zenity --forms \ + --title "Default apps" \ + --text "We know that not everyone uses kitty and dolphin. +That's why we let you choose. +If you wish to change the defaults, use the selectors below." \ + $(add_list "Terminal" kitty alacritty wezterm foot konsole gnome-terminal) \ + $(add_list "File Manager" dolphin thunar pcmanfm nautilus nemo) + #"hyprlauncher", "fuzzel", "wofi", "rofi -show run", "anyrun", "tofi-drun --drun-launch=true" +} +four_basic() { + zenity --question \ + --title "Basic configuration" \ + --text 'Now that you'"'"'ve installed the basic apps, you might want some of them to autostart. Hyprland doesn'"'"'t automatically start anything for you, you need to tell it to. +Go to ~/.config/hypr/hyprland.conf, and add "exec-once = appname" to launch your apps, for example: +exec-once = hyprpaper +exec-once = waybar + +In general, configuring apps is something for you to do. Each app you install may come with its own config file and options. + +A great point to start is the Hyprland wiki at https://wiki.hypr.land. There, the master tutorial will teach you everything and link to further docs. + +If you prefer pre-configured settings, or "dotfiles", you can see the "preconfigured configs" section on the wiki, or search online. Important note: dotfiles can run anything on your computer. Make sure you trust the source.' \ + --ok-label "Next" +} +five_eco() { + zenity --question \ + --title "Hypr Ecosystem" \ + --text "Hyprland has a wide ecosystem of apps specifically made for it. +Unlike some other popular DEs, it does not force you to use most of them by default. + +You can install those elements separately, only those that you need. + +Check the wiki under Hypr Ecosystem to see all of the apps, their usage and configuration." \ + --ok-label "Next" +} +six_end() { + zenity --question \ + --title "That's it!" \ + --text 'That'"'"'s it for this small introduction! Explore the wiki, and various apps, and enjoy your journey! + +Here are some important default shortcuts: +• SUPER + Q = Terminal +• SUPER + E = File Manager +• SUPER + R = Launcher +• SUPER + C = Close window +• SUPER + V = Toggle floating +• SUPER + M = Exit Hyprland +• SUPER + [1 - 9] = Workspaces 1 - 9 +• SUPER + SHIFT + [1 - 9] = Move window to workspace 1 - 9 +• SUPER + Arrows = Move focus around + +You can easily change these in your hyprland.conf. + +Thank you for choosing Hyprland! ❤️)' \ + --ok-label "Next" +} +one_welcome || exit +two_getting || exit + +#three_default || exit +four_basic || exit +five_eco || exit +six_end || exit -- cgit 1.4.1