gnome-random-background/gnome_random_background/main.py
2022-08-21 16:23:53 -05:00

31 lines
878 B
Python

import pathlib
import random
import gi
gi.require_version("Gtk", "4.0")
from gi.repository import Gio, Gtk
import click
@click.command()
@click.argument(
"backgrounds_directory", type=click.Path(exists=True, path_type=pathlib.Path)
)
def choose_random_background(backgrounds_directory: pathlib.Path):
background = random.choice(
[
path.expanduser().resolve().as_uri()
for path in backgrounds_directory.iterdir()
if path.suffix.lower() in [".jpg", ".jpeg", ".png"]
]
)
print(background)
settings = Gio.Settings.new("org.gnome.desktop.background")
if settings.get_string("picture-uri") != background:
settings.set_string("picture-uri", background)
if settings.get_string("picture-uri-dark") != background:
settings.set_string("picture-uri-dark", background)
settings.apply()