Skip to content

Commit 28bd7c7

Browse files
authored
Library: Port 'Wallpaper' to Python (#814)
1 parent 66977e6 commit 28bd7c7

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

src/Library/demos/Wallpaper/main.py

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import gi
2+
3+
gi.require_version("Xdp", "1.0")
4+
gi.require_version("XdpGtk4", "1.0")
5+
from gi.repository import Gio, Xdp, XdpGtk4
6+
import workbench
7+
8+
portal = Xdp.Portal()
9+
parent = XdpGtk4.parent_new_gtk(workbench.window)
10+
button = workbench.builder.get_object("button")
11+
12+
uri = workbench.resolve("./wallpaper.png")
13+
14+
15+
def on_wallpaper_set(_portal, result):
16+
success = _portal.set_wallpaper_finish(result)
17+
if success:
18+
print("Wallpaper set successfully")
19+
else:
20+
print("Could not set wallpaper")
21+
22+
23+
def on_clicked(_button):
24+
portal.set_wallpaper(
25+
parent,
26+
uri,
27+
Xdp.WallpaperFlags.PREVIEW
28+
| Xdp.WallpaperFlags.BACKGROUND
29+
| Xdp.WallpaperFlags.LOCKSCREEN,
30+
None,
31+
on_wallpaper_set,
32+
)
33+
34+
35+
button.connect("clicked", on_clicked)

0 commit comments

Comments
 (0)