chore: update flake.lock
This commit is contained in:
parent
8e3335d9be
commit
6a40c0141d
24 changed files with 105 additions and 100 deletions
|
@ -4,11 +4,11 @@ import { exec } from 'resource:///com/github/Aylur/ags/utils.js';
|
||||||
import Setup from './js/setup.js';
|
import Setup from './js/setup.js';
|
||||||
import Powermenu from './js/powermenu.js';
|
import Powermenu from './js/powermenu.js';
|
||||||
import * as Bar from './js/bar/main.js';
|
import * as Bar from './js/bar/main.js';
|
||||||
import NotifCenter from './js/notifications/center.js';
|
//import NotifCenter from './js/notifications/center.js';
|
||||||
import NotifPopups from './js/notifications/popup.js';
|
//import NotifPopups from './js/notifications/popup.js';
|
||||||
import Calendar from './js/date.js';
|
import Calendar from './js/date.js';
|
||||||
import QuickSettings from './js/quick-settings/main.js';
|
import QuickSettings from './js/quick-settings/main.js';
|
||||||
import Overview from './js/overview/main.js';
|
//import Overview from './js/overview/main.js';
|
||||||
import AppLauncher from './js/applauncher/main.js';
|
import AppLauncher from './js/applauncher/main.js';
|
||||||
import * as Corners from './js/screen-corners.js';
|
import * as Corners from './js/screen-corners.js';
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@ exec(`sassc ${scss} ${css}`);
|
||||||
Setup();
|
Setup();
|
||||||
|
|
||||||
|
|
||||||
|
// FIXME: notification and overview stuff are bugged as of this ags commit
|
||||||
export default {
|
export default {
|
||||||
style: css,
|
style: css,
|
||||||
notificationPopupTimeout: 5000,
|
notificationPopupTimeout: 5000,
|
||||||
|
@ -33,8 +34,8 @@ export default {
|
||||||
windows: [
|
windows: [
|
||||||
AppLauncher(),
|
AppLauncher(),
|
||||||
Calendar(),
|
Calendar(),
|
||||||
NotifCenter(),
|
//NotifCenter(),
|
||||||
Overview(),
|
//Overview(),
|
||||||
Powermenu(),
|
Powermenu(),
|
||||||
QuickSettings(),
|
QuickSettings(),
|
||||||
|
|
||||||
|
@ -42,6 +43,6 @@ export default {
|
||||||
Bar.BgGradient(),
|
Bar.BgGradient(),
|
||||||
Corners.Bottomleft(),
|
Corners.Bottomleft(),
|
||||||
Corners.Bottomright(),
|
Corners.Bottomright(),
|
||||||
NotifPopups(),
|
//NotifPopups(),
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
|
@ -40,7 +40,7 @@ const AppItem = (app, window) => {
|
||||||
className: 'title',
|
className: 'title',
|
||||||
label: app.name,
|
label: app.name,
|
||||||
xalign: 0,
|
xalign: 0,
|
||||||
valign: 'center',
|
vpack: 'center',
|
||||||
ellipsize: 3,
|
ellipsize: 3,
|
||||||
}),
|
}),
|
||||||
Label({
|
Label({
|
||||||
|
@ -49,7 +49,7 @@ const AppItem = (app, window) => {
|
||||||
wrap: true,
|
wrap: true,
|
||||||
xalign: 0,
|
xalign: 0,
|
||||||
justification: 'left',
|
justification: 'left',
|
||||||
valign: 'center',
|
vpack: 'center',
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
}),
|
}),
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import Audio from 'resource:///com/github/Aylur/ags/service/audio.js';
|
import Audio from 'resource:///com/github/Aylur/ags/service/audio.js';
|
||||||
import { Label, Box, Icon } from 'resource:///com/github/Aylur/ags/widget.js';
|
import { Label, Box, Icon } from 'resource:///com/github/Aylur/ags/widget.js';
|
||||||
|
import { execAsync } from 'resource:///com/github/Aylur/ags/utils.js';
|
||||||
|
|
||||||
import Separator from '../misc/separator.js';
|
import Separator from '../misc/separator.js';
|
||||||
import EventBox from '../misc/cursorbox.js';
|
import EventBox from '../misc/cursorbox.js';
|
||||||
|
@ -43,7 +44,7 @@ const SpeakerPercentLabel = props => Label({
|
||||||
});
|
});
|
||||||
|
|
||||||
export default () => EventBox({
|
export default () => EventBox({
|
||||||
onPrimaryClickRelease: 'pavucontrol',
|
onPrimaryClickRelease: () => execAsync(['pavucontrol']).catch(print),
|
||||||
className: 'toggle-off',
|
className: 'toggle-off',
|
||||||
child: Box({
|
child: Box({
|
||||||
className: 'audio',
|
className: 'audio',
|
||||||
|
|
|
@ -23,7 +23,7 @@ export default () => Overlay({
|
||||||
}),
|
}),
|
||||||
overlays: [
|
overlays: [
|
||||||
Box({
|
Box({
|
||||||
style: 'color: #CBA6F7;',
|
css: 'color: #CBA6F7;',
|
||||||
children: [
|
children: [
|
||||||
Separator(25),
|
Separator(25),
|
||||||
Heart(),
|
Heart(),
|
||||||
|
|
|
@ -3,7 +3,7 @@ import { Label } from 'resource:///com/github/Aylur/ags/widget.js';
|
||||||
|
|
||||||
|
|
||||||
export default () => Label({
|
export default () => Label({
|
||||||
style: 'color: #CBA6F7; font-size: 18px',
|
css: 'color: #CBA6F7; font-size: 18px',
|
||||||
truncate: 'end',
|
truncate: 'end',
|
||||||
binds: [['label', Hyprland.active.client, 'title']],
|
binds: [['label', Hyprland.active.client, 'title']],
|
||||||
});
|
});
|
||||||
|
|
|
@ -27,7 +27,7 @@ export default props => Overlay({
|
||||||
],
|
],
|
||||||
|
|
||||||
child: Box({
|
child: Box({
|
||||||
style: 'min-height: 1px',
|
css: 'min-height: 1px',
|
||||||
hexpand: true,
|
hexpand: true,
|
||||||
vertical: true,
|
vertical: true,
|
||||||
children: [
|
children: [
|
||||||
|
@ -38,7 +38,7 @@ export default props => Overlay({
|
||||||
properties: [['timeouts', []]],
|
properties: [['timeouts', []]],
|
||||||
connections: [[Revealed, self => {
|
connections: [[Revealed, self => {
|
||||||
const Bar = App.getWindow('bar');
|
const Bar = App.getWindow('bar');
|
||||||
Bar.setStyle(Revealed.value ? '' : wStyle);
|
Bar.setCss(Revealed.value ? '' : wStyle);
|
||||||
|
|
||||||
const BgGradient = App.getWindow('bg-gradient');
|
const BgGradient = App.getWindow('bg-gradient');
|
||||||
BgGradient.visible = !Revealed.value;
|
BgGradient.visible = !Revealed.value;
|
||||||
|
@ -90,7 +90,7 @@ export default props => Overlay({
|
||||||
self.get_parent().revealChild = false;
|
self.get_parent().revealChild = false;
|
||||||
},
|
},
|
||||||
child: Box({
|
child: Box({
|
||||||
style: 'min-height: 50px;',
|
css: 'min-height: 50px;',
|
||||||
}),
|
}),
|
||||||
}),
|
}),
|
||||||
}),
|
}),
|
||||||
|
|
|
@ -5,7 +5,7 @@ import EventBox from '../misc/cursorbox.js';
|
||||||
|
|
||||||
|
|
||||||
export default () => EventBox({
|
export default () => EventBox({
|
||||||
halign: 'center',
|
hpack: 'center',
|
||||||
|
|
||||||
onPrimaryClickRelease: () => {
|
onPrimaryClickRelease: () => {
|
||||||
execAsync(['bash', '-c', '$AGS_PATH/heart.sh toggle']).catch(print);
|
execAsync(['bash', '-c', '$AGS_PATH/heart.sh toggle']).catch(print);
|
||||||
|
|
|
@ -9,7 +9,7 @@ export default () => Box({
|
||||||
children: [
|
children: [
|
||||||
Icon({
|
Icon({
|
||||||
icon: 'input-keyboard-symbolic',
|
icon: 'input-keyboard-symbolic',
|
||||||
style: 'margin-right: 4px;',
|
css: 'margin-right: 4px;',
|
||||||
}),
|
}),
|
||||||
Label({
|
Label({
|
||||||
connections: [[Hyprland, (self, _n, layout) => {
|
connections: [[Hyprland, (self, _n, layout) => {
|
||||||
|
|
|
@ -20,7 +20,7 @@ export const BgGradient = () => Window({
|
||||||
name: 'bg-gradient',
|
name: 'bg-gradient',
|
||||||
layer: 'background',
|
layer: 'background',
|
||||||
anchor: ['top', 'bottom', 'left', 'right'],
|
anchor: ['top', 'bottom', 'left', 'right'],
|
||||||
style: `
|
css: `
|
||||||
background-image: -gtk-gradient (linear,
|
background-image: -gtk-gradient (linear,
|
||||||
left top, left bottom,
|
left top, left bottom,
|
||||||
from(rgba(0, 0, 0, 0.5)),
|
from(rgba(0, 0, 0, 0.5)),
|
||||||
|
@ -39,7 +39,7 @@ export const Bar = () => Window({
|
||||||
vertical: false,
|
vertical: false,
|
||||||
|
|
||||||
startWidget: Box({
|
startWidget: Box({
|
||||||
halign: 'start',
|
hpack: 'start',
|
||||||
children: [
|
children: [
|
||||||
|
|
||||||
OskToggle(),
|
OskToggle(),
|
||||||
|
@ -76,7 +76,7 @@ export const Bar = () => Window({
|
||||||
}),
|
}),
|
||||||
|
|
||||||
endWidget: Box({
|
endWidget: Box({
|
||||||
halign: 'end',
|
hpack: 'end',
|
||||||
children: [
|
children: [
|
||||||
Battery(),
|
Battery(),
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ const Workspace = ({ i } = {}) =>
|
||||||
.catch(print);
|
.catch(print);
|
||||||
},
|
},
|
||||||
child: Box({
|
child: Box({
|
||||||
valign: 'center',
|
vpack: 'center',
|
||||||
className: 'button',
|
className: 'button',
|
||||||
setup: self => {
|
setup: self => {
|
||||||
self.update = addr => {
|
self.update = addr => {
|
||||||
|
@ -53,21 +53,24 @@ export default () => {
|
||||||
if (currentIndex < 0)
|
if (currentIndex < 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
highlight.setStyle(`margin-left: ${16 + currentIndex * 30}px`);
|
highlight.setCss(`margin-left: ${16 + currentIndex * 30}px`);
|
||||||
};
|
};
|
||||||
const highlight = Box({
|
const highlight = Box({
|
||||||
valign: 'center',
|
vpack: 'center',
|
||||||
halign: 'start',
|
hpack: 'start',
|
||||||
className: 'button active',
|
className: 'button active',
|
||||||
connections: [[Hyprland.active.workspace, updateHighlight]],
|
connections: [[Hyprland.active.workspace, updateHighlight]],
|
||||||
});
|
});
|
||||||
|
|
||||||
const widget = Overlay({
|
const widget = Overlay({
|
||||||
setup: self => {
|
setup: self => {
|
||||||
self.set_overlay_pass_through(
|
// FIXME: see if we can get rid of this timeout
|
||||||
self.get_children()[1],
|
timeout(1, () => {
|
||||||
true,
|
self.set_overlay_pass_through(
|
||||||
);
|
self.get_children()[1],
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
});
|
||||||
},
|
},
|
||||||
overlays: [highlight],
|
overlays: [highlight],
|
||||||
child: EventBox({
|
child: EventBox({
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
import { Widget, Box, Label } from 'resource:///com/github/Aylur/ags/widget.js';
|
import { Box, Calendar, Label } from 'resource:///com/github/Aylur/ags/widget.js';
|
||||||
|
|
||||||
import Gtk from 'gi://Gtk';
|
|
||||||
import GLib from 'gi://GLib';
|
import GLib from 'gi://GLib';
|
||||||
const { DateTime } = GLib;
|
const { DateTime } = GLib;
|
||||||
|
|
||||||
|
@ -19,8 +18,8 @@ const Time = () => Box({
|
||||||
|
|
||||||
Box({
|
Box({
|
||||||
className: 'time-container',
|
className: 'time-container',
|
||||||
halign: 'center',
|
hpack: 'center',
|
||||||
valign: 'center',
|
vpack: 'center',
|
||||||
children: [
|
children: [
|
||||||
|
|
||||||
Label({
|
Label({
|
||||||
|
@ -46,9 +45,9 @@ const Time = () => Box({
|
||||||
|
|
||||||
Box({
|
Box({
|
||||||
className: 'date-container',
|
className: 'date-container',
|
||||||
halign: 'center',
|
hpack: 'center',
|
||||||
child: Label({
|
child: Label({
|
||||||
style: 'font-size: 20px',
|
css: 'font-size: 20px',
|
||||||
label: 'complete date',
|
label: 'complete date',
|
||||||
connections: [[1000, self => {
|
connections: [[1000, self => {
|
||||||
var time = DateTime.new_now_local();
|
var time = DateTime.new_now_local();
|
||||||
|
@ -64,8 +63,7 @@ const Time = () => Box({
|
||||||
|
|
||||||
const CalendarWidget = () => Box({
|
const CalendarWidget = () => Box({
|
||||||
className: 'cal-box',
|
className: 'cal-box',
|
||||||
child: Widget({
|
child: Calendar({
|
||||||
type: Gtk.Calendar,
|
|
||||||
showDayNames: true,
|
showDayNames: true,
|
||||||
showHeading: true,
|
showHeading: true,
|
||||||
className: 'cal',
|
className: 'cal',
|
||||||
|
@ -74,7 +72,7 @@ const CalendarWidget = () => Box({
|
||||||
|
|
||||||
export default () => PopupWindow({
|
export default () => PopupWindow({
|
||||||
anchor: ['top', 'right'],
|
anchor: ['top', 'right'],
|
||||||
margin: [6, 182, 0, 0],
|
margins: [6, 182, 0, 0],
|
||||||
name: 'calendar',
|
name: 'calendar',
|
||||||
child: Box({
|
child: Box({
|
||||||
className: 'date',
|
className: 'date',
|
||||||
|
|
|
@ -40,7 +40,7 @@ export default ({
|
||||||
|
|
||||||
// Slide right
|
// Slide right
|
||||||
if (offset >= 0) {
|
if (offset >= 0) {
|
||||||
playerBox.setStyle(`
|
playerBox.setCss(`
|
||||||
margin-left: ${offset}px;
|
margin-left: ${offset}px;
|
||||||
margin-right: -${offset}px;
|
margin-right: -${offset}px;
|
||||||
${playerBox._bgStyle}
|
${playerBox._bgStyle}
|
||||||
|
@ -50,7 +50,7 @@ export default ({
|
||||||
// Slide left
|
// Slide left
|
||||||
else {
|
else {
|
||||||
offset = Math.abs(offset);
|
offset = Math.abs(offset);
|
||||||
playerBox.setStyle(`
|
playerBox.setCss(`
|
||||||
margin-left: -${offset}px;
|
margin-left: -${offset}px;
|
||||||
margin-right: ${offset}px;
|
margin-right: ${offset}px;
|
||||||
${playerBox._bgStyle}
|
${playerBox._bgStyle}
|
||||||
|
@ -75,7 +75,7 @@ export default ({
|
||||||
|
|
||||||
// Slide away right
|
// Slide away right
|
||||||
if (offset >= 0) {
|
if (offset >= 0) {
|
||||||
playerBox.setStyle(`
|
playerBox.setCss(`
|
||||||
${TRANSITION}
|
${TRANSITION}
|
||||||
margin-left: ${OFFSCREEN}px;
|
margin-left: ${OFFSCREEN}px;
|
||||||
margin-right: -${OFFSCREEN}px;
|
margin-right: -${OFFSCREEN}px;
|
||||||
|
@ -85,7 +85,7 @@ export default ({
|
||||||
|
|
||||||
// Slide away left
|
// Slide away left
|
||||||
else {
|
else {
|
||||||
playerBox.setStyle(`
|
playerBox.setCss(`
|
||||||
${TRANSITION}
|
${TRANSITION}
|
||||||
margin-left: -${OFFSCREEN}px;
|
margin-left: -${OFFSCREEN}px;
|
||||||
margin-right: ${OFFSCREEN}px;
|
margin-right: ${OFFSCREEN}px;
|
||||||
|
@ -96,14 +96,14 @@ export default ({
|
||||||
// Put the player in the back after anim
|
// Put the player in the back after anim
|
||||||
overlay.reorder_overlay(playerBox, 0);
|
overlay.reorder_overlay(playerBox, 0);
|
||||||
// Recenter player
|
// Recenter player
|
||||||
playerBox.setStyle(playerBox._bgStyle);
|
playerBox.setCss(playerBox._bgStyle);
|
||||||
|
|
||||||
widget.sensitive = true;
|
widget.sensitive = true;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// Recenter with transition for animation
|
// Recenter with transition for animation
|
||||||
playerBox.setStyle(`${TRANSITION} ${playerBox._bgStyle}`);
|
playerBox.setCss(`${TRANSITION} ${playerBox._bgStyle}`);
|
||||||
}
|
}
|
||||||
}, 'drag-end'],
|
}, 'drag-end'],
|
||||||
],
|
],
|
||||||
|
|
|
@ -52,7 +52,7 @@ export const CoverArt = (player, props) => CenterBox({
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
`;
|
`;
|
||||||
self.setStyle(self._bgStyle);
|
self.setCss(self._bgStyle);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -75,7 +75,7 @@ export const CoverArt = (player, props) => CenterBox({
|
||||||
`;
|
`;
|
||||||
|
|
||||||
if (!self.get_parent()._dragging)
|
if (!self.get_parent()._dragging)
|
||||||
self.setStyle(self._bgStyle);
|
self.setCss(self._bgStyle);
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
if (err !== '')
|
if (err !== '')
|
||||||
print(err);
|
print(err);
|
||||||
|
@ -200,7 +200,7 @@ const PlayerButton = ({ player, items, onClick, prop }) => Button({
|
||||||
|
|
||||||
if (prop == 'playBackStatus') {
|
if (prop == 'playBackStatus') {
|
||||||
items.forEach(item => {
|
items.forEach(item => {
|
||||||
item[1].setStyle(`
|
item[1].setCss(`
|
||||||
background-color: ${player.colors.value.hoverAccent};
|
background-color: ${player.colors.value.hoverAccent};
|
||||||
color: ${player.colors.value.buttonText};
|
color: ${player.colors.value.buttonText};
|
||||||
min-height: 40px;
|
min-height: 40px;
|
||||||
|
@ -216,7 +216,7 @@ const PlayerButton = ({ player, items, onClick, prop }) => Button({
|
||||||
self.window.set_cursor(null);
|
self.window.set_cursor(null);
|
||||||
if (prop == 'playBackStatus') {
|
if (prop == 'playBackStatus') {
|
||||||
items.forEach(item => {
|
items.forEach(item => {
|
||||||
item[1].setStyle(`
|
item[1].setCss(`
|
||||||
background-color: ${player.colors.value.buttonAccent};
|
background-color: ${player.colors.value.buttonAccent};
|
||||||
color: ${player.colors.value.buttonText};
|
color: ${player.colors.value.buttonText};
|
||||||
min-height: 42px;
|
min-height: 42px;
|
||||||
|
@ -238,7 +238,7 @@ const PlayerButton = ({ player, items, onClick, prop }) => Button({
|
||||||
if (prop == 'playBackStatus') {
|
if (prop == 'playBackStatus') {
|
||||||
if (button._hovered) {
|
if (button._hovered) {
|
||||||
items.forEach(item => {
|
items.forEach(item => {
|
||||||
item[1].setStyle(`
|
item[1].setCss(`
|
||||||
background-color: ${player.colors.value.hoverAccent};
|
background-color: ${player.colors.value.hoverAccent};
|
||||||
color: ${player.colors.value.buttonText};
|
color: ${player.colors.value.buttonText};
|
||||||
min-height: 40px;
|
min-height: 40px;
|
||||||
|
@ -250,7 +250,7 @@ const PlayerButton = ({ player, items, onClick, prop }) => Button({
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
items.forEach(item => {
|
items.forEach(item => {
|
||||||
item[1].setStyle(`
|
item[1].setCss(`
|
||||||
background-color: ${player.colors.value.buttonAccent};
|
background-color: ${player.colors.value.buttonAccent};
|
||||||
color: ${player.colors.value.buttonText};
|
color: ${player.colors.value.buttonText};
|
||||||
min-height: 42px;
|
min-height: 42px;
|
||||||
|
|
|
@ -11,8 +11,8 @@ const FAVE_PLAYER = 'org.mpris.MediaPlayer2.spotify';
|
||||||
|
|
||||||
const Top = player => Box({
|
const Top = player => Box({
|
||||||
className: 'top',
|
className: 'top',
|
||||||
halign: 'start',
|
hpack: 'start',
|
||||||
valign: 'start',
|
vpack: 'start',
|
||||||
children: [
|
children: [
|
||||||
mpris.PlayerIcon(player, {
|
mpris.PlayerIcon(player, {
|
||||||
symbolic: false,
|
symbolic: false,
|
||||||
|
@ -30,8 +30,8 @@ const Center = player => Box({
|
||||||
Box({
|
Box({
|
||||||
className: 'metadata',
|
className: 'metadata',
|
||||||
vertical: true,
|
vertical: true,
|
||||||
halign: 'start',
|
hpack: 'start',
|
||||||
valign: 'center',
|
vpack: 'center',
|
||||||
hexpand: true,
|
hexpand: true,
|
||||||
children: [
|
children: [
|
||||||
mpris.TitleLabel(player),
|
mpris.TitleLabel(player),
|
||||||
|
@ -59,8 +59,8 @@ const Bottom = player => Box({
|
||||||
className: 'bottom',
|
className: 'bottom',
|
||||||
children: [
|
children: [
|
||||||
mpris.PreviousButton(player, {
|
mpris.PreviousButton(player, {
|
||||||
valign: 'end',
|
vpack: 'end',
|
||||||
halign: 'start',
|
hpack: 'start',
|
||||||
}),
|
}),
|
||||||
Separator(8),
|
Separator(8),
|
||||||
|
|
||||||
|
|
|
@ -5,11 +5,11 @@ const display = Gdk.Display.get_default();
|
||||||
|
|
||||||
|
|
||||||
export default ({
|
export default ({
|
||||||
type = 'EventBox',
|
isButton = false,
|
||||||
reset = true,
|
reset = true,
|
||||||
...props
|
...props
|
||||||
}) => {
|
}) => {
|
||||||
if (type === 'EventBox') {
|
if (!isButton) {
|
||||||
return Widget.EventBox({
|
return Widget.EventBox({
|
||||||
...props,
|
...props,
|
||||||
onHover: self => {
|
onHover: self => {
|
||||||
|
|
|
@ -36,9 +36,9 @@ export default ({
|
||||||
// Wrapping the revealer inside a box is needed
|
// Wrapping the revealer inside a box is needed
|
||||||
// to allocate some space for it even when not revealed
|
// to allocate some space for it even when not revealed
|
||||||
child: Box({
|
child: Box({
|
||||||
style: `min-height:1px;
|
css: `min-height:1px;
|
||||||
min-width:1px;
|
min-width:1px;
|
||||||
padding: 1px;`,
|
padding: 1px;`,
|
||||||
child: Revealer({
|
child: Revealer({
|
||||||
transition,
|
transition,
|
||||||
transitionDuration,
|
transitionDuration,
|
||||||
|
|
|
@ -2,14 +2,14 @@ import { Box } from 'resource:///com/github/Aylur/ags/widget.js';
|
||||||
|
|
||||||
|
|
||||||
export default (size, { vertical = false } = {}) => {
|
export default (size, { vertical = false } = {}) => {
|
||||||
if (vertical) {
|
if (vertical) {
|
||||||
return Box({
|
return Box({
|
||||||
style: `min-height: ${size}px;`,
|
css: `min-height: ${size}px;`,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return Box({
|
return Box({
|
||||||
style: `min-width: ${size}px;`,
|
css: `min-width: ${size}px;`,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import { CenterBox, Label } from 'resource:///com/github/Aylur/ags/widget.js';
|
import { CenterBox, Label } from 'resource:///com/github/Aylur/ags/widget.js';
|
||||||
|
import { execAsync } from 'resource:///com/github/Aylur/ags/utils.js';
|
||||||
|
|
||||||
import PopupWindow from './misc/popup.js';
|
import PopupWindow from './misc/popup.js';
|
||||||
import Button from './misc/cursorbox.js';
|
import Button from './misc/cursorbox.js';
|
||||||
|
@ -9,9 +10,9 @@ const PowermenuWidget = () => CenterBox({
|
||||||
vertical: false,
|
vertical: false,
|
||||||
|
|
||||||
startWidget: Button({
|
startWidget: Button({
|
||||||
type: 'Button',
|
isButton: true,
|
||||||
className: 'shutdown',
|
className: 'shutdown',
|
||||||
onPrimaryClickRelease: 'systemctl poweroff',
|
onPrimaryClickRelease: () => execAsync(['systemctl', 'poweroff']).catch(print),
|
||||||
|
|
||||||
child: Label({
|
child: Label({
|
||||||
label: '襤',
|
label: '襤',
|
||||||
|
@ -19,9 +20,9 @@ const PowermenuWidget = () => CenterBox({
|
||||||
}),
|
}),
|
||||||
|
|
||||||
centerWidget: Button({
|
centerWidget: Button({
|
||||||
type: 'Button',
|
isButton: true,
|
||||||
className: 'reboot',
|
className: 'reboot',
|
||||||
onPrimaryClickRelease: 'systemctl reboot',
|
onPrimaryClickRelease: () => execAsync(['systemctl', 'reboot']).catch(print),
|
||||||
|
|
||||||
child: Label({
|
child: Label({
|
||||||
label: '勒',
|
label: '勒',
|
||||||
|
@ -29,9 +30,9 @@ const PowermenuWidget = () => CenterBox({
|
||||||
}),
|
}),
|
||||||
|
|
||||||
endWidget: Button({
|
endWidget: Button({
|
||||||
type: 'Button',
|
isButton: true,
|
||||||
className: 'logout',
|
className: 'logout',
|
||||||
onPrimaryClickRelease: 'hyprctl dispatch exit',
|
onPrimaryClickRelease: () => execAsync(['hyprctl', 'dispatch', 'exit']).catch(print),
|
||||||
|
|
||||||
child: Label({
|
child: Label({
|
||||||
label: '',
|
label: '',
|
||||||
|
|
|
@ -36,8 +36,8 @@ const GridButton = ({
|
||||||
|
|
||||||
const FirstRow = () => Box({
|
const FirstRow = () => Box({
|
||||||
className: 'button-row',
|
className: 'button-row',
|
||||||
halign: 'center',
|
hpack: 'center',
|
||||||
style: 'margin-top: 15px; margin-bottom: 7px;',
|
css: 'margin-top: 15px; margin-bottom: 7px;',
|
||||||
children: [
|
children: [
|
||||||
|
|
||||||
GridButton({
|
GridButton({
|
||||||
|
@ -108,7 +108,7 @@ const FirstRow = () => Box({
|
||||||
});
|
});
|
||||||
|
|
||||||
const SubRow = () => CenterBox({
|
const SubRow = () => CenterBox({
|
||||||
halign: 'start',
|
hpack: 'start',
|
||||||
children: [
|
children: [
|
||||||
|
|
||||||
Label({
|
Label({
|
||||||
|
@ -154,8 +154,8 @@ const itemsMic = {
|
||||||
|
|
||||||
const SecondRow = () => Box({
|
const SecondRow = () => Box({
|
||||||
className: 'button-row',
|
className: 'button-row',
|
||||||
halign: 'center',
|
hpack: 'center',
|
||||||
style: 'margin-top: 7px; margin-bottom: 15px;',
|
css: 'margin-top: 7px; margin-bottom: 15px;',
|
||||||
children: [
|
children: [
|
||||||
|
|
||||||
GridButton({
|
GridButton({
|
||||||
|
@ -236,7 +236,7 @@ const SecondRow = () => Box({
|
||||||
export default () => Box({
|
export default () => Box({
|
||||||
className: 'button-grid',
|
className: 'button-grid',
|
||||||
vertical: true,
|
vertical: true,
|
||||||
halign: 'center',
|
hpack: 'center',
|
||||||
children: [
|
children: [
|
||||||
FirstRow(),
|
FirstRow(),
|
||||||
SubRow(),
|
SubRow(),
|
||||||
|
|
|
@ -20,8 +20,8 @@ const QuickSettingsWidget = () => Box({
|
||||||
Label({
|
Label({
|
||||||
label: 'Control Center',
|
label: 'Control Center',
|
||||||
className: 'title',
|
className: 'title',
|
||||||
halign: 'start',
|
hpack: 'start',
|
||||||
style: 'margin-left: 20px',
|
css: 'margin-left: 20px',
|
||||||
}),
|
}),
|
||||||
|
|
||||||
ButtonGrid(),
|
ButtonGrid(),
|
||||||
|
@ -44,6 +44,6 @@ const QuickSettingsWidget = () => Box({
|
||||||
export default () => PopupWindow({
|
export default () => PopupWindow({
|
||||||
name: 'quick-settings',
|
name: 'quick-settings',
|
||||||
anchor: ['top', 'right'],
|
anchor: ['top', 'right'],
|
||||||
margin: [6, 5, 0],
|
margins: [6, 5, 0],
|
||||||
child: QuickSettingsWidget(),
|
child: QuickSettingsWidget(),
|
||||||
});
|
});
|
||||||
|
|
|
@ -14,13 +14,13 @@ const items = {
|
||||||
export default () => Box({
|
export default () => Box({
|
||||||
className: 'slider-box',
|
className: 'slider-box',
|
||||||
vertical: true,
|
vertical: true,
|
||||||
halign: 'center',
|
hpack: 'center',
|
||||||
children: [
|
children: [
|
||||||
|
|
||||||
Box({
|
Box({
|
||||||
className: 'slider',
|
className: 'slider',
|
||||||
valign: 'start',
|
vpack: 'start',
|
||||||
halign: 'center',
|
hpack: 'center',
|
||||||
children: [
|
children: [
|
||||||
Icon({
|
Icon({
|
||||||
size: 26,
|
size: 26,
|
||||||
|
@ -55,8 +55,8 @@ export default () => Box({
|
||||||
|
|
||||||
Box({
|
Box({
|
||||||
className: 'slider',
|
className: 'slider',
|
||||||
valign: 'start',
|
vpack: 'start',
|
||||||
halign: 'center',
|
hpack: 'center',
|
||||||
children: [
|
children: [
|
||||||
Icon({
|
Icon({
|
||||||
className: 'slider-label',
|
className: 'slider-label',
|
||||||
|
|
|
@ -11,7 +11,7 @@ export default () => {
|
||||||
toggleButton.add(Icon({
|
toggleButton.add(Icon({
|
||||||
icon: 'go-down-symbolic',
|
icon: 'go-down-symbolic',
|
||||||
className: 'arrow',
|
className: 'arrow',
|
||||||
style: '-gtk-icon-transform: rotate(180deg);',
|
css: '-gtk-icon-transform: rotate(180deg);',
|
||||||
}));
|
}));
|
||||||
|
|
||||||
// Setup
|
// Setup
|
||||||
|
@ -26,12 +26,12 @@ export default () => {
|
||||||
|
|
||||||
if (toggleButton.get_active()) {
|
if (toggleButton.get_active()) {
|
||||||
toggleButton.get_children()[0]
|
toggleButton.get_children()[0]
|
||||||
.setStyle('-gtk-icon-transform: rotate(0deg);');
|
.setCss('-gtk-icon-transform: rotate(0deg);');
|
||||||
rev.revealChild = true;
|
rev.revealChild = true;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
toggleButton.get_children()[0]
|
toggleButton.get_children()[0]
|
||||||
.setStyle('-gtk-icon-transform: rotate(180deg);');
|
.setCss('-gtk-icon-transform: rotate(180deg);');
|
||||||
rev.revealChild = false;
|
rev.revealChild = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,18 +1,19 @@
|
||||||
import { Widget } from 'resource:///com/github/Aylur/ags/widget.js';
|
import { Box, DrawingArea, Window } from 'resource:///com/github/Aylur/ags/widget.js';
|
||||||
import Gtk from 'gi://Gtk';
|
import Gtk from 'gi://Gtk';
|
||||||
const Lang = imports.lang;
|
const Lang = imports.lang;
|
||||||
|
|
||||||
export const RoundedCorner = (place, props) => Widget.Box({
|
export const RoundedCorner = (place, props) => Box({
|
||||||
halign: place.includes('left') ? 'start' : 'end',
|
hpack: place.includes('left') ? 'start' : 'end',
|
||||||
valign: place.includes('top') ? 'start' : 'end',
|
vpack: place.includes('top') ? 'start' : 'end',
|
||||||
style: `padding: 1px; margin:
|
css: `
|
||||||
${place.includes('top') ? '-1px' : '0'}
|
padding: 1px; margin:
|
||||||
${place.includes('right') ? '-1px' : '0'}
|
${place.includes('top') ? '-1px' : '0'}
|
||||||
${place.includes('bottom') ? '-1px' : '0'}
|
${place.includes('right') ? '-1px' : '0'}
|
||||||
${place.includes('left') ? '-1px' : '0'};`,
|
${place.includes('bottom') ? '-1px' : '0'}
|
||||||
child: Widget({
|
${place.includes('left') ? '-1px' : '0'};
|
||||||
|
`,
|
||||||
|
child: DrawingArea({
|
||||||
...props,
|
...props,
|
||||||
type: Gtk.DrawingArea,
|
|
||||||
setup: widget => {
|
setup: widget => {
|
||||||
const r = widget.get_style_context()
|
const r = widget.get_style_context()
|
||||||
.get_property('border-radius', Gtk.StateFlags.NORMAL);
|
.get_property('border-radius', Gtk.StateFlags.NORMAL);
|
||||||
|
@ -69,7 +70,7 @@ export const RoundedCorner = (place, props) => Widget.Box({
|
||||||
}),
|
}),
|
||||||
});
|
});
|
||||||
|
|
||||||
export const Topleft = () => Widget.Window({
|
export const Topleft = () => Window({
|
||||||
name: 'cornertl',
|
name: 'cornertl',
|
||||||
layer: 'overlay',
|
layer: 'overlay',
|
||||||
anchor: ['top', 'left'],
|
anchor: ['top', 'left'],
|
||||||
|
@ -77,7 +78,7 @@ export const Topleft = () => Widget.Window({
|
||||||
visible: true,
|
visible: true,
|
||||||
child: RoundedCorner('topleft', { className: 'corner' }),
|
child: RoundedCorner('topleft', { className: 'corner' }),
|
||||||
});
|
});
|
||||||
export const Topright = () => Widget.Window({
|
export const Topright = () => Window({
|
||||||
name: 'cornertr',
|
name: 'cornertr',
|
||||||
layer: 'overlay',
|
layer: 'overlay',
|
||||||
anchor: ['top', 'right'],
|
anchor: ['top', 'right'],
|
||||||
|
@ -85,7 +86,7 @@ export const Topright = () => Widget.Window({
|
||||||
visible: true,
|
visible: true,
|
||||||
child: RoundedCorner('topright', { className: 'corner' }),
|
child: RoundedCorner('topright', { className: 'corner' }),
|
||||||
});
|
});
|
||||||
export const Bottomleft = () => Widget.Window({
|
export const Bottomleft = () => Window({
|
||||||
name: 'cornerbl',
|
name: 'cornerbl',
|
||||||
layer: 'overlay',
|
layer: 'overlay',
|
||||||
anchor: ['bottom', 'left'],
|
anchor: ['bottom', 'left'],
|
||||||
|
@ -93,7 +94,7 @@ export const Bottomleft = () => Widget.Window({
|
||||||
visible: true,
|
visible: true,
|
||||||
child: RoundedCorner('bottomleft', { className: 'corner' }),
|
child: RoundedCorner('bottomleft', { className: 'corner' }),
|
||||||
});
|
});
|
||||||
export const Bottomright = () => Widget.Window({
|
export const Bottomright = () => Window({
|
||||||
name: 'cornerbr',
|
name: 'cornerbr',
|
||||||
layer: 'overlay',
|
layer: 'overlay',
|
||||||
anchor: ['bottom', 'right'],
|
anchor: ['bottom', 'right'],
|
||||||
|
|
BIN
flake.lock
BIN
flake.lock
Binary file not shown.
Loading…
Reference in a new issue