Added ags
TODO copy ags config
This commit is contained in:
40
roles/ags/files/widget/desktop/Desktop.ts
Normal file
40
roles/ags/files/widget/desktop/Desktop.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
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);`,
|
||||
)
|
||||
}),
|
||||
}),
|
||||
}),
|
||||
})
|
||||
Reference in New Issue
Block a user