ags: sync

This commit is contained in:
end-4
2024-01-11 16:49:37 +07:00
parent cdd8f7e252
commit 22b5993f79
96 changed files with 3346 additions and 2598 deletions
+33 -23
View File
@@ -1,13 +1,13 @@
// This file is for the actual widget for each single notification
const { GLib, Gdk, Gtk } = imports.gi;
import { Utils, Widget } from '../imports.js';
import Widget from 'resource:///com/github/Aylur/ags/widget.js'
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js'
const { lookUpIcon, timeout } = Utils;
const { Box, EventBox, Icon, Overlay, Label, Button, Revealer } = Widget;
import { MaterialIcon } from "./materialicon.js";
import { setupCursorHover } from "./cursorhover.js";
import { AnimatedCircProg } from "./animatedcircularprogress.js";
import { MarginRevealer } from './advancedrevealers.js';
function guessMessageType(summary) {
if (summary.includes('recording')) return 'screen_record';
@@ -93,13 +93,13 @@ export default ({
const widget = EventBox({
onHover: (self) => {
self.window.set_cursor(Gdk.Cursor.new_from_name(display, 'grab'));
if (!wholeThing._hovered)
wholeThing._hovered = true;
if (!wholeThing.attribute.hovered)
wholeThing.attribute.hovered = true;
},
onHoverLost: (self) => {
self.window.set_cursor(null);
if (wholeThing._hovered)
wholeThing._hovered = false;
if (wholeThing.attribute.hovered)
wholeThing.attribute.hovered = false;
if (isPopup) {
command();
}
@@ -109,13 +109,13 @@ export default ({
}
});
const wholeThing = Revealer({
properties: [
['id', notifObject.id],
['close', undefined],
['hovered', false],
['dragging', false],
['destroyWithAnims', () => destroyWithAnims]
],
attribute: {
'id': notifObject.id,
'close': undefined,
'hovered': false,
'dragging': false,
'destroyWithAnims': () => destroyWithAnims,
},
revealChild: false,
transition: 'slide_down',
transitionDuration: 200,
@@ -159,18 +159,23 @@ export default ({
label: notifObject.body,
}),
Box({
homogeneous: true,
className: 'notif-actions',
className: 'notif-actions spacing-h-5',
children: [
Button({
hexpand: true,
className: `notif-action notif-action-${notifObject.urgency}`,
label: 'Close',
onClicked: () => destroyWithAnims(),
child: Label({
label: 'Close',
})
}),
...notifObject.actions.map(action => Widget.Button({
hexpand: true,
className: `notif-action notif-action-${notifObject.urgency}`,
onClicked: () => notifObject.invoke(action.id),
label: action.label,
child: Label({
label: action.label,
})
}))
],
})
@@ -258,8 +263,13 @@ export default ({
className: `${isPopup ? 'popup-' : ''}notif-${notifObject.urgency} spacing-h-10`,
children: [
notifIcon,
notifText,
notifExpandButton,
Box({
className: 'spacing-h-5',
children: [
notifText,
notifExpandButton,
]
})
]
})
@@ -334,7 +344,7 @@ export default ({
}
}
wholeThing._dragging = Math.abs(offset_x) > 10;
wholeThing.attribute.dragging = Math.abs(offset_x) > 10;
if (widget.window)
widget.window.set_cursor(Gdk.Cursor.new_from_name(display, 'grabbing'));
@@ -354,9 +364,9 @@ export default ({
}, 'drag-update')
.hook(gesture, self => {
if (!self._ready) {
if (!self.attribute.ready) {
wholeThing.revealChild = true;
self._ready = true;
self.attribute.ready = true;
return;
}
const offset_h = gesture.get_offset()[1];
@@ -387,7 +397,7 @@ export default ({
if (widget.window)
widget.window.set_cursor(Gdk.Cursor.new_from_name(display, 'grab'));
wholeThing._dragging = false;
wholeThing.attribute.dragging = false;
}
initDirX = 0;
initDirVertical = -1;