Update Wallpaperscript
This commit is contained in:
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -4,6 +4,3 @@
|
|||||||
[submodule "dotfiles/zsh/ohmyzsh"]
|
[submodule "dotfiles/zsh/ohmyzsh"]
|
||||||
path = dotfiles/zsh/ohmyzsh
|
path = dotfiles/zsh/ohmyzsh
|
||||||
url = https://github.com/ohmyzsh/ohmyzsh
|
url = https://github.com/ohmyzsh/ohmyzsh
|
||||||
[submodule "dotfiles/scripts/randomwallpaper"]
|
|
||||||
path = dotfiles/scripts/randomwallpaper
|
|
||||||
url = https://github.com/CramMK/randomwallpaper
|
|
||||||
|
|||||||
Submodule dotfiles/scripts/randomwallpaper deleted from 0a973cafe8
70
dotfiles/scripts/wallpaper.py
Executable file
70
dotfiles/scripts/wallpaper.py
Executable file
@@ -0,0 +1,70 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import random
|
||||||
|
import re
|
||||||
|
import argparse
|
||||||
|
|
||||||
|
|
||||||
|
def get_wallpapers(query: str, path: str):
|
||||||
|
"Fetch a wallpaper"
|
||||||
|
|
||||||
|
# Search through all wallpapers
|
||||||
|
wallpapers = [f for f in os.listdir(path) if re.search(r"png|jpg", f)]
|
||||||
|
queried_wallpapers = [f for f in wallpapers if re.search(rf"{query}", f)]
|
||||||
|
|
||||||
|
return queried_wallpapers
|
||||||
|
|
||||||
|
def pick_wallpaper(wallpaper_list, *args):
|
||||||
|
# Error handling
|
||||||
|
if not wallpaper_list:
|
||||||
|
print("No wallpapers found!")
|
||||||
|
sys.exit(1)
|
||||||
|
else:
|
||||||
|
new_wallpaper = random.choice(wallpaper_list)
|
||||||
|
|
||||||
|
return new_wallpaper
|
||||||
|
|
||||||
|
def list_wallpapers(wallpaper_list, *args):
|
||||||
|
print("Wallpapers matching your query:")
|
||||||
|
for wallpaper in wallpaper_list:
|
||||||
|
print(wallpaper)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
|
||||||
|
### DEFAULT WALLPAPER DIRECTORY HERE
|
||||||
|
path = "~/wallpaper"
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument("-q", "--query", help="Refine selection")
|
||||||
|
parser.add_argument("-p", "--path", help="Path to wallpaper directory")
|
||||||
|
parser.add_argument("-l", "--list", action="store_true", help="List potential wallpapers" )
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
query = ""
|
||||||
|
if args.query:
|
||||||
|
query = args.query
|
||||||
|
print(f"Searching for wallpapers filename matching: {query}")
|
||||||
|
|
||||||
|
if args.path:
|
||||||
|
path = args.path
|
||||||
|
print(f"Searching in: {path}")
|
||||||
|
|
||||||
|
# Get a list of all wallpapers
|
||||||
|
wallpaper_list = get_wallpapers(query, path)
|
||||||
|
|
||||||
|
if args.list:
|
||||||
|
print("=================================================")
|
||||||
|
print("Arg '--list' is set. No wallpaper will be applied")
|
||||||
|
print("=================================================")
|
||||||
|
list_wallpapers(wallpaper_list)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
# Pick one wallpaper
|
||||||
|
query_result = pick_wallpaper(wallpaper_list)
|
||||||
|
wallpaper = path + "/" + query_result
|
||||||
|
|
||||||
|
os.system(f"feh --bg-scale {wallpaper}")
|
||||||
|
print(f"Updated wallpaper to: {wallpaper}")
|
||||||
Reference in New Issue
Block a user