75 lines
2.4 KiB
JavaScript
75 lines
2.4 KiB
JavaScript
const { GLib } = imports.gi;
|
|
import App from 'resource:///com/github/Aylur/ags/app.js';
|
|
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
|
|
import Service from 'resource:///com/github/Aylur/ags/service.js';
|
|
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
|
|
|
|
import Variable from 'resource:///com/github/Aylur/ags/variable.js';
|
|
const { execAsync, exec } = Utils;
|
|
const { Box, Label, Button, Revealer, EventBox } = Widget;
|
|
import { setupCursorHover } from '../.widgetutils/cursorhover.js';
|
|
import { quickLaunchItems } from './data_quicklaunches.js'
|
|
|
|
const TimeAndDate = () => Box({
|
|
vertical: true,
|
|
className: 'spacing-v--5',
|
|
children: [
|
|
Label({
|
|
className: 'bg-time-clock',
|
|
xalign: 0,
|
|
label: GLib.DateTime.new_now_local().format(userOptions.time.format),
|
|
setup: (self) => self.poll(userOptions.time.interval, label => {
|
|
label.label = GLib.DateTime.new_now_local().format(userOptions.time.format);
|
|
}),
|
|
}),
|
|
Label({
|
|
className: 'bg-time-date',
|
|
xalign: 0,
|
|
label: GLib.DateTime.new_now_local().format(userOptions.time.dateFormatLong),
|
|
setup: (self) => self.poll(userOptions.time.dateInterval, (label) => {
|
|
label.label = GLib.DateTime.new_now_local().format(userOptions.time.dateFormatLong);
|
|
}),
|
|
}),
|
|
]
|
|
})
|
|
|
|
const QuickLaunches = () => Box({
|
|
vertical: true,
|
|
className: 'spacing-v-10',
|
|
children: [
|
|
Label({
|
|
xalign: 0,
|
|
className: 'bg-quicklaunch-title',
|
|
label: 'Quick Launches',
|
|
}),
|
|
Box({
|
|
hpack: 'start',
|
|
className: 'spacing-h-5',
|
|
children: quickLaunchItems.map((item, i) => Button({
|
|
onClicked: () => {
|
|
execAsync(['bash', '-c', `${item["command"]}`]).catch(print);
|
|
},
|
|
className: 'bg-quicklaunch-btn',
|
|
child: Label({
|
|
label: `${item["name"]}`,
|
|
}),
|
|
setup: (self) => {
|
|
setupCursorHover(self);
|
|
}
|
|
})),
|
|
})
|
|
]
|
|
})
|
|
|
|
export default () => Box({
|
|
hpack: 'start',
|
|
vpack: 'end',
|
|
vertical: true,
|
|
className: 'bg-time-box spacing-h--10',
|
|
children: [
|
|
TimeAndDate(),
|
|
// QuickLaunches(),
|
|
],
|
|
})
|
|
|