This commit is contained in:
Lucas F. 2025-06-24 15:45:51 -03:00
commit 32c61ec63a
4 changed files with 152 additions and 0 deletions

51
README.md Normal file
View file

@ -0,0 +1,51 @@
## Script para mudar o wallpaper no [Hyprland](https://github.com/hyprwm/Hyprland) com o comando `wallpaper`
### Pré-requisitos
* [FuzzyFinder](https://github.com/junegunn/fzf)
* [Hyprland](https://github.com/hyprwm/Hyprland)
* [Hyprpaper](https://github.com/hyprwm/hyprpaper)
* [Mpvpaper](https://github.com/GhostNaN/mpvpaper)
### Instalação
Para instalar o script, execute o seguinte comando:
```bash
sh <(curl -s https://git.lucasf.xyz/public/wallpaper/raw/branch/master/install.sh)
```
A instalação irá clonar o repositório na pasta `~/.local/share/wallpaper` e criar links simbolicos na pasta `~/.local/bin`.
### Uso
Adicione a seguinte linha no arquivo de configuração do Hyprland `~/.config/hypr/hypr.conf`:
```bash
exec-once = bash ~/.local/bin/wallp
```
### Escolhendo um wallpaper
Para escolher um wallpaper, execute o comando `wallpaper` e escolha o wallpaper desejado.
Serão exibidos os wallpapers disponíveis na pasta `~/.local/share/wallpaper`.
```bash
wallpaper
```
### Desinstalação
Para desinstalar o script, execute os seguintes comandos:
```bash
rm -rf ~/.local/share/wallpaper ~/.local/bin/wallp ~/.local/bin/wallpaper
if [ -f ~/.config/hypr/hyprland.conf ]; then
sed -i '/\/bin\/wallp/d' ~/.config/hypr/hyprland.conf
fi
```

16
install.sh Normal file
View file

@ -0,0 +1,16 @@
#!/bin/bash
main() {
local INSTALLDIR="$HOME/.local/share/wallpaper"
local EXECDIR="$HOME/.local/bin"
git clone https://git.lucasf.xyz/public/wallpaper "$INSTALLDIR" > /dev/null 2>&1
ln -s "$INSTALLDIR/wallpaper.sh" "$EXECDIR/wallpaper"
ln -s "$INSTALLDIR/wallp.sh" "$EXECDIR/wallp"
}
main
if [[ $? -eq 0 ]];then echo "Wallpaper installed!!"; fi
# vim: ft=bash:ts=4:sts=4:sw=4

43
wallp.sh Executable file
View file

@ -0,0 +1,43 @@
#!/bin/bash
WALL_TEMP_CONF_PATH="$HOME/.config/hypr/hyprp.conf"
MONITOR=$(hyprctl monitors | awk '/^Monitor/ {print $2}')
if ! command -v fzf &> /dev/null; then
echo "fzf not found, please install it to proceed"
exit 1
fi
if ! command -v hyprpaper &> /dev/null; then
echo "hyprpaper not found, please install it to proceed"
exit 1
fi
if ! command -v mpvpaper &> /dev/null; then
echo "mpvpaper not found, please install it to proceed"
exit 1
fi
if pgrep -f hyprpaper > /dev/null; then
killall hyprpaper
fi
if pgrep -f mpvpaper > /dev/null; then
killall mpvpaper
fi
if [[ -f "$WALL_TEMP_CONF_PATH" ]]; then
source "$WALL_TEMP_CONF_PATH"
if [[ -n "$preload" ]]; then
if [[ $preload == *mp4 ]]; then
mpvpaper -o "--loop" $MONITOR $preload &> /dev/null &
else
hyprpaper --config $WALL_TEMP_CONF_PATH &> /dev/null &
fi
fi
disown
else
hyprpaper
fi
# vim: ft=bash:ts=4:sts=4:sw=4

42
wallpaper.sh Executable file
View file

@ -0,0 +1,42 @@
#!/bin/bash
WALL_PATH="$HOME/.local/share/backgrounds/"
WALL_TEMP_CONF="$HOME/.config/hypr/hyprp.conf"
MONITOR=$(hyprctl monitors | awk '/^Monitor/ {print $2}')
function wallpaper(){
if ! command -v fzf &> /dev/null; then
echo "fzf not found, please install it to proceed"
exit 1
fi
if ! command -v hyprpaper &> /dev/null; then
echo "hyprpaper not found, please install it to proceed"
exit 1
fi
if ! command -v mpvpaper &> /dev/null; then
echo "mpvpaper not found, please install it to proceed"
exit 1
fi
SELECTED=$(find "$WALL_PATH" -maxdepth 1 -type f -printf '%f\n' | fzf)
if [[ ! -n "$SELECTED" ]]; then
echo "No wallpaper selected"
exit 1
fi
echo -e > $WALL_TEMP_CONF "preload=$WALL_PATH$SELECTED\nwallpaper=$MONITOR,$WALL_PATH$SELECTED\nsplash=false\nipc=off"
if pgrep -f hyprpaper > /dev/null; then
killall hyprpaper
fi
if pgrep -f mpvpaper > /dev/null; then
killall mpvpaper
fi
if [[ $SELECTED == *mp4 ]]; then
mpvpaper -o "--loop" $MONITOR "$WALL_PATH$SELECTED" &> /dev/null &
else
hyprpaper --config "$WALL_TEMP_CONF" &> /dev/null &
fi
disown
}
wallpaper
# vim: ft=bash:ts=4:sts=4:sw=4