Compare commits

..

No commits in common. "master" and "release" have entirely different histories.

3 changed files with 21 additions and 68 deletions

1
.gitignore vendored
View File

@ -1,4 +1,3 @@
.vscode/
Pipfile
Pipfile.lock
.notes/

View File

@ -1,30 +1,14 @@
# wallpaperctl
wallpaperctl is a basic configurable wallpaper changing script
## Installation
```bash
mkdir -p $HOME/.config/wallpaperctl
cp wallpaperctl.ini $HOME/.config/wallpaperctl/
sudo mv -v wallpaperctl.py /usr/bin/wallpaperctl
```
## Config options
### General
```ini
- WALLHAVEN_API_KEY=asdfg
- X_SERVER=:0
- WALLPAPER_ENGINE=feh
- ULTRA_WALL_DIR=~/Pictures/wallpaper-ultra
- HOR_WALL_DIR=~/Pictures/wallpaper-hor
- VERT_WALL_DIR=~/Pictures/wallpaper-vert
[Monitors]
1=ultrawide
2=vertical
3=horizontal
```
# wallpaperctl
wallpaperctl is a basic configurable wallpaper changing script
## Installation
```bash
mkdir -p $HOME/.config/wallpaperctl
cp wallpaperctl.ini $HOME/.config/wallpaperctl/
sudo mv -v wallpaperctl.py /usr/bin/wallpaperctl
```
## Config options

View File

@ -3,43 +3,17 @@
import configparser
import os
import random
import sys
import subprocess
from pathlib import Path
import subprocess
def find_all_images(path):
IMAGE_TYPES = ['jpg', 'png', 'webp', 'jpeg']
if WALLPAPER_ENGINE == 'plasma':
IMAGE_TYPES.remove("webp")
images = []
for image_type in IMAGE_TYPES:
[images.append(image) for image in path.glob(f'**/*.{image_type}')]
return images
def handle_feh(wallpapers):
cmd = "/usr/bin/feh --no-fehbg --bg-fill "
for wallpaper in wallpapers:
cmd += str(f"{wallpaper} ")
subprocess.call(cmd, shell=True)
def handle_plasma(wallpapers):
fuckingGarbageJS = """
var allDesktops = desktops();
"""
for wallpaper in wallpapers:
wallpaperIndex = wallpapers.index(wallpaper)
fuckingGarbageJS += f"""allDesktops[{wallpaperIndex}].wallpaperPlugin = "org.kde.image";
allDesktops[{wallpaperIndex}].currentConfigGroup = Array("Wallpaper", "org.kde.image", "General");
allDesktops[{wallpaperIndex}].writeConfig("Image", "file://{wallpaper}");
"""
cmd = f"/usr/bin/qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript '{fuckingGarbageJS}'"
subprocess.call(cmd, shell=True)
def handle_gnome(wallpapers):
raise NotImplementedError
conf_file = f"{os.environ['HOME']}/.config/wallpaperctl/wallpaperctl.ini"
# Initialize config file
@ -80,17 +54,13 @@ for mon in monitors:
case _:
print(monitors[mon])
print(wallpapers)
match WALLPAPER_ENGINE:
case 'feh':
handle_feh(wallpapers)
cmd = "/usr/bin/feh --no-fehbg --bg-fill "
case 'plasma':
handle_plasma(wallpapers)
for wallpaper in wallpapers:
cmd += str(f"{wallpaper} ")
case 'gnome':
handle_gnome(wallpapers)
subprocess.call(cmd, shell=True)
case _:
print(f"Wallpaper engine {WALLPAPER_ENGINE} is not supported")
sys.exit()
# subprocess.call("ls -alh",shell=True)