#!/bin/sh # A mew wrapper script for system functions. export WM="Hyprland" case "$(readlink -f /sbin/init)" in *systemd*) ctl='systemctl' ;; *) ctl='loginctl' ;; esac wmpid(){ # This function is needed if there are multiple instances of the window manager. tree="$(pstree -ps $$)" tree="${tree#*$WM(}" echo "${tree%%)*}" } lock(){ mpc pause pauseallmpv wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle kill -44 $(pidof waybar) swaylock wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle kill -44 $(pidof waybar) } case "$(printf " lock\n󰩈 leave $WM\n renew $WM\n hibernate\n reboot\n shutdown\n󰒲 sleep\n󰍹 display off" | mew -i -p 'Action: ')" in ' lock') lock ;; "󰩈 leave $WM") hyprctl dispatch exit ;; " renew $WM") hyprctl reload ;; ' hibernate') $ctl hibernate -i ;; '󰒲 sleep') $ctl suspend -i ;; ' reboot') $ctl reboot -i ;; ' shutdown') $ctl poweroff -i ;; '󰍹 display off') xset dpms force off ;; *) exit 1 ;; esac