mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-12 19:46:20 +00:00
41 lines
1.4 KiB
TypeScript
41 lines
1.4 KiB
TypeScript
import options from "options"
|
|
import { matugen } from "lib/matugen"
|
|
const mpris = await Service.import("mpris")
|
|
|
|
const pref = () => options.bar.media.preferred.value
|
|
|
|
export default (monitor: number) => Widget.Window({
|
|
monitor,
|
|
layer: "bottom",
|
|
name: `desktop${monitor}`,
|
|
class_name: "desktop",
|
|
anchor: ["top", "bottom", "left", "right"],
|
|
child: Widget.Box({
|
|
expand: true,
|
|
css: options.theme.dark.primary.bg.bind().as(c => `
|
|
transition: 500ms;
|
|
background-color: ${c}`),
|
|
child: Widget.Box({
|
|
class_name: "wallpaper",
|
|
expand: true,
|
|
vpack: "center",
|
|
hpack: "center",
|
|
setup: self => self
|
|
.hook(mpris, () => {
|
|
const img = mpris.getPlayer(pref())!.cover_path
|
|
matugen("image", img)
|
|
Utils.timeout(500, () => self.css = `
|
|
background-image: url('${img}');
|
|
background-size: contain;
|
|
background-repeat: no-repeat;
|
|
transition: 200ms;
|
|
min-width: 700px;
|
|
min-height: 700px;
|
|
border-radius: 30px;
|
|
box-shadow: 25px 25px 30px 0 rgba(0,0,0,0.5);`,
|
|
)
|
|
}),
|
|
}),
|
|
}),
|
|
})
|