Compare commits

...

2 Commits

15 changed files with 142 additions and 133 deletions

View File

@@ -9,15 +9,16 @@ To automatically setup the system, use the script `fedora.sh`, or run trough the
- kitty: `.config/kitty` + `fira_code_mono_nerd_font` installed - kitty: `.config/kitty` + `fira_code_mono_nerd_font` installed
- serif font: install `google-roboto-fonts` (used in gtk, qt, waybar) - serif font: install `google-roboto-fonts` (used in gtk, qt, waybar)
- zsh: `\$ZDOTDIR` set in `/etc/zshenv` + omz install (`sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" && mv ~/.oh-my-zsh ~/.local/share/oh-my-zsh && mkdir -p ~/.local/state/zsh/`) + `.config/zsh` + install fzf-tab plugin (git clone https://github.com/Aloxaf/fzf-tab ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fzf-tab/, needs sqlite as dependency) + for some reason `$XDG_STATE_HOME/zsh` needs to be created manually - zsh: `\$ZDOTDIR` set in `/etc/zshenv` + omz install (`sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" && mv ~/.oh-my-zsh ~/.local/share/oh-my-zsh && mkdir -p ~/.local/state/zsh/`) + `.config/zsh` + install fzf-tab plugin (git clone https://github.com/Aloxaf/fzf-tab ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fzf-tab/, needs sqlite as dependency) + for some reason `$XDG_STATE_HOME/zsh` needs to be created manually
- hypr*: `.config/hypr,` install `hyprlock`, `hyprsunset`, `hypridle`, - hypr*: `.config/hypr,` install `hyprlock`, `hyprsunset`, `hypridle`, `hyprpolkitagent`. Also enable `hypridle.service`, `hyprsunset.service`, `hyprpolkitagent.service`. Note that the config is set up to be run via uwsm.
- hyprpaper: `.config/hypr` + download from [here](https://www.flickr.com/photos/nasahqphoto/5914101671/in/photostream/) by `curl -o .local/share/backgrounds/eKxlw8.jpg -fsSL "https://live.staticflickr.com/5077/5914101671_d80c6591e8_k.jpg` (also used for grub & regreet & hyprlock) - hyprpaper: `.config/hypr` + download from [here](https://www.flickr.com/photos/nasahqphoto/5914101671/in/photostream/) by `curl -o .local/share/backgrounds/eKxlw8.jpg -fsSL "https://live.staticflickr.com/5077/5914101671_d80c6591e8_k.jpg` (also used for grub & regreet & hyprlock). Also enable `hyprpaper.service`
- waybar: `.config/waybar` + install `fontawesome4-fonts` (for icons) - waybar: `.config/waybar` + install `fontawesome4-fonts` (for icons). Also enable `waybar.service`
- rofi: `.config/rofi` - rofi: `.config/rofi`
- rofi-qalc: needs rofi-wayland, rofi-devel, then compile this by hand: https://github.com/svenstaro/rofi-calc - rofi-qalc: needs rofi-wayland, rofi-devel, then compile this by hand: https://github.com/svenstaro/rofi-calc
- regreet (greetd greeter): needs cargo, gtk4-devel, cairo-gobject-devel, pango-devel and greetd; needs the greetd user added to `video` group, then complle this by hand: https://github.com/rharish101/ReGreet.git - regreet (greetd greeter): needs cargo, gtk4-devel, cairo-gobject-devel, pango-devel and greetd; needs the greetd user added to `video` group, then complle this by hand: https://github.com/rharish101/ReGreet.git
Also moves config files to their places, including to `/etc/tmpfiles.d/` Also moves config files to their places, including to `/etc/tmpfiles.d/`.
At login, you'll have to choose the `uwsm-managed` Hyprland
- nvim: `.config/nvim` + kitty done + deps: clang (gcc-c++), unzip, npm, ripgrep, go, then proceed with nvchad init - nvim: `.config/nvim` + kitty done + deps: clang (gcc-c++), unzip, npm, ripgrep, go, then proceed with nvchad init
- swaync: `.config/swaync` - swaync: `.config/swaync`, also enable `swaync.service`
- gtk: `.config/gtk-*`, `dconf load /org/gtk/gtk4 < ./dconf-export/gtk4.dconf` - gtk: `.config/gtk-*`, `dconf load /org/gtk/gtk4 < ./dconf-export/gtk4.dconf`
- MPV: `$XDG_CONFIG_HOME/mpv/` - MPV: `$XDG_CONFIG_HOME/mpv/`
- QT5: `.config/qt6ct/`, `xsettingsd/` - QT5: `.config/qt6ct/`, `xsettingsd/`
@@ -27,7 +28,7 @@ To automatically setup the system, use the script `fedora.sh`, or run trough the
- udev: `/etc/udev/rules.d/` (for setting driver permissions) - udev: `/etc/udev/rules.d/` (for setting driver permissions)
- selinux: `/etc/selinux/config` to stay permissive (why even bother with selinux?) - selinux: `/etc/selinux/config` to stay permissive (why even bother with selinux?)
- firefox(librewolf btw): do your own profile, install [catpuccin theme](https://github.com/catppuccin/firefox) and [darkreader](https://darkreader.org/) - firefox(librewolf btw): do your own profile, install [catpuccin theme](https://github.com/catppuccin/firefox) and [darkreader](https://darkreader.org/)
- gnome tooling (file picker, keyring, etc): `dconf load /org/gnome/desktop/ < ./dconf-export/gnome-desktop.dconf` - gnome tooling (file picker, keyring, etc): `dconf load /org/gnome/desktop/ < ./dconf-export/gnome-desktop.dconf`, for the keyring enable `gnome-keyring.service`
- nautilus (file manager): gtk set up, then `dconf load /org/gnome/nautilus < ./dconf-export/nautilus.dconf` - nautilus (file manager): gtk set up, then `dconf load /org/gnome/nautilus < ./dconf-export/nautilus.dconf`
- gedit (gui text editor): gtk set up, then `dconf load /org/gnome/gedit < ./dconf-export/gedit.dconf` - gedit (gui text editor): gtk set up, then `dconf load /org/gnome/gedit < ./dconf-export/gedit.dconf`

View File

@@ -11,6 +11,10 @@ replace_config_line () {
fi fi
} }
set_unit () {
systemctl --user enable --now $*
}
replace_config_line "/etc/dnf/dnf.conf" "installonly_limit" "3" replace_config_line "/etc/dnf/dnf.conf" "installonly_limit" "3"
replace_config_line "/etc/dnf/dnf.conf" "best" "False" replace_config_line "/etc/dnf/dnf.conf" "best" "False"
replace_config_line "/etc/dnf/dnf.conf" "skip_unavailable" "True" replace_config_line "/etc/dnf/dnf.conf" "skip_unavailable" "True"
@@ -55,9 +59,14 @@ printf "You'll need to relog to have your default shell changed\n"
ensure_installed hyprland hyprpaper hypridle hyprlock hyprsunset ensure_installed hyprland hyprpaper hypridle hyprlock hyprsunset
mkdir -p ~/.local/share/backgrounds/ mkdir -p ~/.local/share/backgrounds/
curl -o ~/.local/share/backgrounds/eKxlw8.jpg -fsSL "https://live.staticflickr.com/5077/5914101671_d80c6591e8_k.jpg" curl -o ~/.local/share/backgrounds/eKxlw8.jpg -fsSL "https://live.staticflickr.com/5077/5914101671_d80c6591e8_k.jpg"
set_unit hypridle.service hyprpaper.service hyprpolkitagent.service hyprsunset.service
set_unit pipewire.service pipewire-pulse.service
# desktop elements that just work # desktop elements that just work
ensure_installed swaync ensure_installed swaync
set_unit swaync.service
ensure_installed waybar fontawesome4-fonts ensure_installed waybar fontawesome4-fonts
set_unit waybar.service
set_unit cliphist.service
# Install ReGreet # Install ReGreet
ensure_installed cargo gtk4-devel cairo-gobject-devel pango-devel greetd ensure_installed cargo gtk4-devel cairo-gobject-devel pango-devel greetd
@@ -87,6 +96,7 @@ sudo plymouth-set-default-theme -R fedora-mac-style && sudo dracut --regenerate-
# install gnome's stuff # install gnome's stuff
ensure_installed gnome-keying nautilus dconf gedit ensure_installed gnome-keying nautilus dconf gedit
set_unit gnome-keying.service
dconf load /org/gtk/gtk4 < ~/.config/dconf-export/gtk4.dconf dconf load /org/gtk/gtk4 < ~/.config/dconf-export/gtk4.dconf
dconf load /org/gnome/desktop < ~/.config/dconf-export/gnome-desktop.dconf dconf load /org/gnome/desktop < ~/.config/dconf-export/gnome-desktop.dconf
dconf load /org/gnome/nautilus < ~/.config/dconf-export/nautilus.dconf dconf load /org/gnome/nautilus < ~/.config/dconf-export/nautilus.dconf

View File

@@ -1,23 +0,0 @@
env = XCURSOR_SIZE,24
#env = LIBVA_DRIVER_NAME,nvidia
#env = XDG_SESSION_TYPE,wayland
#env = GDM_BACKEND,nvidia-drm
#env = __GLX_VENDOR_LIBRARY_NAME,nvidia
#env = WLR_NO_HARDWARE_CURSORS,1
env = QT_QPA_PLATFORMTHEME,qt6ct
env = QT_QPA_PLATFORM,wayland;xcb
# GarbageTK
env = GTK_THEME,adw-gtk3-dark
# moar wayland
env = SDL_VIDEODRIVER,wayland
env = CLUTTER_BACKEND,wayland
# Exec
#env = PATH,/home/kosmx/.local/share/graalvm/bin:$PATH
# XDG
env = XDG_RUNTIME_DIR,/run/user/1000/

View File

@@ -9,29 +9,28 @@
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = hyprpaper #exec-once = uwsm app hyprpaper
exec-once = waybar #exec-once = uwsm app waybar
exec-once = swaync #exec-once = uwsm app swaync
# clippy # clippy
exec-once = wl-paste --type text --watch cliphist -max-items 36 store #Stores only text data # exec-once = uwsm app wl-paste --type text --watch cliphist -max-items 36 store #Stores only text data
exec-once = wl-paste --type image --watch cliphist -max-items 36 store #Stores only image data # exec-once = uwsm app wl-paste --type image --watch cliphist -max-items 36 store #Stores only image data
#exec-once = hyprland-per-window-layout #exec-once = hyprland-per-window-layout
exec-once = udiskie & exec-once = uwsm app udiskie
exec-once = /usr/libexec/hyprpolkitagent #exec-once = uwsm app /usr/libexec/hyprpolkitagent
exec-once = hypridle #exec-once = uwsm app hypridle
exec-once = hyprsunset #exec-once = hyprsunset
#exec-once = /usr/libexec/kdeconnectd # kdeconnect daemon exec-once = uwsm app kdeconnect-indicator
exec-once = kdeconnect-indicator
# audit (apparmor) logger # audit (apparmor) logger
# exec-once = aa-notify -p -s 1 -w 60 -f /var/log/audit/audit.log # exec-once = aa-notify -p -s 1 -w 60 -f /var/log/audit/audit.log
exec-once = gnome-keyring-daemon --start --components=pkcs11,secrets,ssh #exec-once = uwsm app gnome-keyring-daemon --start --components=pkcs11,secrets,ssh
# something keeps changing my cursor. This is my ultimatum. # something keeps changing my cursor. This is my ultimatum.
exec-once = gsettings set org.gnome.desktop.interface cursor-theme exec-once = gsettings set org.gnome.desktop.interface cursor-theme Adwaita

View File

@@ -1,6 +1,6 @@
# Config yoinked from hyprland website # Config yoinked from hyprland website
general { general {
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances. lock_cmd = pidof hyprlock || uwsm app hyprlock # avoid starting multiple hyprlock instances.
before_sleep_cmd = loginctl lock-session # lock before suspend. before_sleep_cmd = loginctl lock-session # lock before suspend.
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display. after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
} }

View File

@@ -18,8 +18,6 @@ monitor=,preferred,auto,auto
# Source a file (multi-file configs) # Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf # source = ~/.config/hypr/myColors.conf
source=./env.conf
# Exec stuffs # Exec stuffs
source=./exec.conf source=./exec.conf

View File

@@ -4,23 +4,20 @@
$mainMod = SUPER $mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, T, exec, kitty bind = $mainMod, BACKSPACE, killactive
bind = $mainMod, W, exec, flatpak run io.gitlab.librewolf-community bind = $mainMod CTRL ALT, BACKSPACE, exec, uwsm stop
bind = $mainMod, BACKSPACE, killactive, #bind = $mainMod CTRL, BACKSPACE, exec, sh ~/.config/swaylock.sh
bind = $mainMod CTRL ALT, BACKSPACE, exit, #bind = $mainMod, PAUSE, killactive
bind = $mainMod CTRL, BACKSPACE, exec, sh ~/.config/swaylock.sh bind = $mainMod, Y, togglefloating
#bind = $mainMod, PAUSE, killactive,
bind = $mainMod, F, exec, nautilus
bind = $mainMod, Y, togglefloating,
bind = $mainMod SHIFT, Y, workspaceopt, allfloat bind = $mainMod SHIFT, Y, workspaceopt, allfloat
bind = $mainMod, P, pseudo, # dwindle bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod SHIFT, P, pin, bind = $mainMod SHIFT, P, pin
bind = $mainMod SHIFT, P, workspaceopt, allpseudo, bind = $mainMod SHIFT, P, workspaceopt, allpseudo
bind = $mainMod, O, togglesplit, # dwindle bind = $mainMod, O, togglesplit, # dwindle
bind = $mainMod, E, fullscreen, 1 bind = $mainMod, E, fullscreen, 1
bind = $mainMod SHIFT, E, fullscreen, 0 bind = $mainMod SHIFT, E, fullscreen, 0
# bind = $mainMod CTRL, E, fakefullscreen, # bind = $mainMod CTRL, E, fakefullscreen
bind = $mainMod SHIFT, PERIOD, pin, bind = $mainMod SHIFT, PERIOD, pin
binde = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ binde = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
binde = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- binde = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
binde = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle binde = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
@@ -104,7 +101,7 @@ bind = $mainMod, mouse:274, movetoworkspacesilent, special
bind = $mainMod, C, movetoworkspacesilent, special bind = $mainMod, C, movetoworkspacesilent, special
bind = $mainMod SHIFT, mouse:274, movetoworkspace, special bind = $mainMod SHIFT, mouse:274, movetoworkspace, special
bind = $mainMod SHIFT, C, movetoworkspace, special bind = $mainMod SHIFT, C, movetoworkspace, special
bind = $mainMod, TAB, togglespecialworkspace, bind = $mainMod, TAB, togglespecialworkspace
bind = $mainMod CTRL, END, workspace, empty bind = $mainMod CTRL, END, workspace, empty
bind = $mainMod SHIFT, END, movetoworkspace, empty bind = $mainMod SHIFT, END, movetoworkspace, empty
bind = $mainMod CTRL, HOME, workspace, 1 bind = $mainMod CTRL, HOME, workspace, 1
@@ -115,14 +112,18 @@ bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow bindm = $mainMod, mouse:273, resizewindow
bindm = $mainMod SHIFT, mouse:272, resizewindow bindm = $mainMod SHIFT, mouse:272, resizewindow
# Applications
bind = $mainMod, F, exec, uwsm app nautilus
bind = $mainMod, T, exec, uwsm app kitty
bind = $mainMod, W, exec, uwsm app io.gitlab.librewolf-community.desktop
# Tools (launcher/etc) # Tools (launcher/etc)
bind = $mainMod, SPACE, exec, ~/.config/rofi/launchers/type-1/launcher.sh bind = $mainMod, SPACE, exec, ~/.config/rofi/launchers/type-1/launcher.sh
bind = $mainMod SHIFT, V, exec, cliphist list | rofi -theme ~/.config/rofi/launchers/type-1/style-5.rasi -dmenu | cliphist decode | wl-copy && wl-paste bind = $mainMod SHIFT, V, exec, cliphist list | rofi -theme ~/.config/rofi/launchers/type-1/style-5.rasi -dmenu | cliphist decode | wl-copy
bind = $mainMod SHIFT CTRL, V, exec, cliphist list | rofi -theme ~/.config/rofi/launchers/type-1/style-5.rasi -dmenu | cliphist delete bind = $mainMod SHIFT CTRL, V, exec, cliphist list | rofi -theme ~/.config/rofi/launchers/type-1/style-5.rasi -dmenu | cliphist delete
bind = $mainMod, minus, exec, rofi -theme ~/.config/rofi/launchers/type-1/style-5.rasi -show calc -modi calc -no-show-match -no-sort -no-persist-history -calc-command "echo -n '{result}' | wl-copy" bind = $mainMod, minus, exec, rofi -theme ~/.config/rofi/launchers/type-1/style-5.rasi -show calc -modi calc -no-show-match -no-sort -no-persist-history -calc-command "echo -n '{result}' | wl-copy"
bind = $mainMod, B, exec, pkill waybar || waybar bind = $mainMod, B, exec, pkill waybar || uwsm app waybar
bind = $mainMod SHIFT, ESCAPE, exec, plasma-systemmonitor # TODO add my own monitor bind = $mainMod SHIFT, ESCAPE, exec, uwsm app plasma-systemmonitor # TODO add my own monitor
bind = $mainMod, N, exec, swaync-client -t -sw bind = $mainMod, N, exec, swaync-client -t -sw
bind = $mainMod SHIFT, S, exec, sh -c "slurp | grim -g - - | wl-copy && wl-paste > $(xdg-user-dir PICTURES)/screenshots/$(date +'%Y-%m-%d-%H%M%S_grim.png')" bind = $mainMod SHIFT, S, exec, sh -c "slurp | grim -g - - | wl-copy && wl-paste > $(xdg-user-dir PICTURES)/screenshots/$(date +'%Y-%m-%d-%H%M%S_grim.png')"

View File

@@ -22,11 +22,11 @@ elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
fi fi
# CMDs (add your apps here) # CMDs (add your apps here)
term_cmd='kitty' term_cmd='uwsm app kitty'
file_cmd='nautilus' file_cmd='uwsm app nautilus'
text_cmd='gedit' text_cmd='uwsm app gedit'
web_cmd='flatpak run io.gitlab.librewolf-community' web_cmd='uwsm app io.gitlab.librewolf-community.desktop'
music_cmd='' music_cmd='uwsm app com.github.iwalton3.jellyfin-mpv-shim.desktop'
setting_cmd='' setting_cmd=''
# Options # Options

View File

@@ -108,7 +108,7 @@ run_cmd() {
elif [[ "$1" == '--opt2' ]]; then elif [[ "$1" == '--opt2' ]]; then
notify-send -u low "$ICON_CHRG Status : $status" notify-send -u low "$ICON_CHRG Status : $status"
elif [[ "$1" == '--opt3' ]]; then elif [[ "$1" == '--opt3' ]]; then
xfce4-power-manager-settings uwsm app xfce4-power-manager-settings
elif [[ "$1" == '--opt4' ]]; then elif [[ "$1" == '--opt4' ]]; then
${polkit_cmd} kitty -e powertop ${polkit_cmd} kitty -e powertop
fi fi

View File

@@ -83,7 +83,7 @@ run_cmd() {
elif [[ "$1" == '--opt3' ]]; then elif [[ "$1" == '--opt3' ]]; then
light -U 5 light -U 5
elif [[ "$1" == '--opt4' ]]; then elif [[ "$1" == '--opt4' ]]; then
xfce4-power-manager-settings uwsm app xfce4-power-manager-settings
fi fi
} }

View File

@@ -14,116 +14,116 @@ prompt="`hostname`"
mesg="Uptime : `uptime -p | sed -e 's/up //g'`" mesg="Uptime : `uptime -p | sed -e 's/up //g'`"
if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then if [[ ( "$theme" == *'type-1'* ) || ( "$theme" == *'type-3'* ) || ( "$theme" == *'type-5'* ) ]]; then
list_col='1' list_col='1'
list_row='6' list_row='6'
elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then elif [[ ( "$theme" == *'type-2'* ) || ( "$theme" == *'type-4'* ) ]]; then
list_col='6' list_col='6'
list_row='1' list_row='1'
fi fi
# Options # Options
layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2` layout=`cat ${theme} | grep 'USE_ICON' | cut -d'=' -f2`
if [[ "$layout" == 'NO' ]]; then if [[ "$layout" == 'NO' ]]; then
option_1="󰍁 Lock" option_1="󰍁 Lock"
option_2="󰗼 Logout" option_2="󰗼 Logout"
option_3="󰒲 Suspend" option_3="󰒲 Suspend"
option_4="󰜗 Hibernate" option_4="󰜗 Hibernate"
option_5="󰜉 Reboot" option_5="󰜉 Reboot"
option_6=" Shutdown" option_6=" Shutdown"
yes=' Yes' yes=' Yes'
no=' No' no=' No'
else else
option_1="󰍁" option_1="󰍁"
option_2="󰗼" option_2="󰗼"
option_3="󰒲" option_3="󰒲"
option_4="󰜗" option_4="󰜗"
option_5="󰜉" option_5="󰜉"
option_6="" option_6=""
yes='' yes=''
no='' no=''
fi fi
# Rofi CMD # Rofi CMD
rofi_cmd() { rofi_cmd() {
rofi -theme-str "listview {columns: $list_col; lines: $list_row;}" \ rofi -theme-str "listview {columns: $list_col; lines: $list_row;}" \
-theme-str 'textbox-prompt-colon {str: "";}' \ -theme-str 'textbox-prompt-colon {str: "";}' \
-dmenu \ -dmenu \
-p "$prompt" \ -p "$prompt" \
-mesg "$mesg" \ -mesg "$mesg" \
-markup-rows \ -markup-rows \
-theme ${theme} -theme ${theme}
} }
# Pass variables to rofi dmenu # Pass variables to rofi dmenu
run_rofi() { run_rofi() {
echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd echo -e "$option_1\n$option_2\n$option_3\n$option_4\n$option_5\n$option_6" | rofi_cmd
} }
# Confirmation CMD # Confirmation CMD
confirm_cmd() { confirm_cmd() {
rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 350px;}' \ rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 350px;}' \
-theme-str 'mainbox {orientation: vertical; children: [ "message", "listview" ];}' \ -theme-str 'mainbox {orientation: vertical; children: [ "message", "listview" ];}' \
-theme-str 'listview {columns: 2; lines: 1;}' \ -theme-str 'listview {columns: 2; lines: 1;}' \
-theme-str 'element-text {horizontal-align: 0.5;}' \ -theme-str 'element-text {horizontal-align: 0.5;}' \
-theme-str 'textbox {horizontal-align: 0.5;}' \ -theme-str 'textbox {horizontal-align: 0.5;}' \
-dmenu \ -dmenu \
-p 'Confirmation' \ -p 'Confirmation' \
-mesg 'Are you Sure?' \ -mesg 'Are you Sure?' \
-theme ${theme} -theme ${theme}
} }
# Ask for confirmation # Ask for confirmation
confirm_exit() { confirm_exit() {
echo -e "$yes\n$no" | confirm_cmd echo -e "$yes\n$no" | confirm_cmd
} }
# Confirm and execute # Confirm and execute
confirm_run () { confirm_run () {
selected="$(confirm_exit)" selected="$(confirm_exit)"
if [[ "$selected" == "$yes" ]]; then if [[ "$selected" == "$yes" ]]; then
${1} && ${2} && ${3} ${1} && ${2} && ${3}
else else
exit exit
fi fi
} }
# Execute Command # Execute Command
run_cmd() { run_cmd() {
if [[ "$1" == '--opt1' ]]; then if [[ "$1" == '--opt1' ]]; then
loginctl lock-session loginctl lock-session
elif [[ "$1" == '--opt2' ]]; then elif [[ "$1" == '--opt2' ]]; then
confirm_run 'hyprctl dispatch exit' confirm_run 'uwsm stop'
elif [[ "$1" == '--opt3' ]]; then elif [[ "$1" == '--opt3' ]]; then
confirm_run 'systemctl suspend' confirm_run 'systemctl suspend'
elif [[ "$1" == '--opt4' ]]; then elif [[ "$1" == '--opt4' ]]; then
confirm_run 'systemctl hibernate' confirm_run 'systemctl hibernate'
elif [[ "$1" == '--opt5' ]]; then elif [[ "$1" == '--opt5' ]]; then
confirm_run 'systemctl reboot' confirm_run 'systemctl reboot'
elif [[ "$1" == '--opt6' ]]; then elif [[ "$1" == '--opt6' ]]; then
confirm_run 'systemctl poweroff' confirm_run 'systemctl poweroff'
fi fi
} }
# Actions # Actions
chosen="$(run_rofi)" chosen="$(run_rofi)"
case ${chosen} in case ${chosen} in
$option_1) $option_1)
run_cmd --opt1 run_cmd --opt1
;; ;;
$option_2) $option_2)
run_cmd --opt2 run_cmd --opt2
;; ;;
$option_3) $option_3)
run_cmd --opt3 run_cmd --opt3
;; ;;
$option_4) $option_4)
run_cmd --opt4 run_cmd --opt4
;; ;;
$option_5) $option_5)
run_cmd --opt5 run_cmd --opt5
;; ;;
$option_6) $option_6)
run_cmd --opt6 run_cmd --opt6
;; ;;
esac esac

View File

@@ -108,7 +108,7 @@ run_cmd() {
elif [[ "$1" == '--opt4' ]]; then elif [[ "$1" == '--opt4' ]]; then
amixer set Capture toggle amixer set Capture toggle
elif [[ "$1" == '--opt5' ]]; then elif [[ "$1" == '--opt5' ]]; then
pavucontrol uwsm app pavucontrol
fi fi
} }

View File

@@ -18,3 +18,4 @@ theme='style-5'
rofi \ rofi \
-show drun \ -show drun \
-theme ${dir}/${theme}.rasi -theme ${dir}/${theme}.rasi
-run-command "uwsm app -- {cmd}"

View File

@@ -0,0 +1,22 @@
[Unit]
Description=Clipboard history “manager” for wayland
Documentation=https://github.com/sentriz/cliphist
# order startup after WM
After=graphical-session.target
[Service]
Type=exec
# Repurpose XDG Autostart filtering
ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "wlroots:sway:Wayfire:labwc:Hyprland" ""
ExecStart=wl-paste --watch cliphist -max-items 50 store
Restart=on-failure
Slice=app-graphical.slice
[Install]
WantedBy=graphical-session.target
# Alternatively can be wanted by specific WMs' targets
# Should also be duplicated in 'After=' to avoid ordering loop
#WantedBy=wayland-session@sway.desktop.target
#WantedBy=wayland-session@wayfire.desktop.target
#WantedBy=wayland-session@labwc.desktop.target
#WantedBy=wayland-session@hyprland.desktop.target

View File

@@ -42,7 +42,7 @@
"default": ["󰸈", "󰕿", "󰖀", "󰕾"] "default": ["󰸈", "󰕿", "󰖀", "󰕾"]
}, },
"on-click": "~/.config/rofi/applets/bin/volume.sh", "on-click": "~/.config/rofi/applets/bin/volume.sh",
"on-click-right": "pavucontrol" "on-click-right": "uwsm app pavucontrol"
}, },
"bluetooth": { "bluetooth": {
@@ -51,7 +51,7 @@
"format-connected": " {num_connections}", "format-connected": " {num_connections}",
"tooltip-format-enumerate-connected": "{device_alias}", "tooltip-format-enumerate-connected": "{device_alias}",
"tooltip-format-connected": "{device_enumerate}", "tooltip-format-connected": "{device_enumerate}",
"on-click": "blueman-manager" "on-click": "uwsm app blueman-manager"
}, },
"temperature": { "temperature": {
@@ -129,7 +129,7 @@
"custom/quit": { "custom/quit": {
"format": " 󰗼 ", "format": " 󰗼 ",
"tooltip": false, "tooltip": false,
"on-click": "hyprctl dispatch exit" "on-click": "uwsm stop"
}, },
"custom/lock": { "custom/lock": {
"format": " 󰍁 ", "format": " 󰍁 ",