diff --git a/.config/ags/modules/.commonwidgets/notification.js b/.config/ags/modules/.commonwidgets/notification.js index 121df0b0..57840ff7 100644 --- a/.config/ags/modules/.commonwidgets/notification.js +++ b/.config/ags/modules/.commonwidgets/notification.js @@ -250,8 +250,12 @@ export default ({ className: 'txt-smaller txt-semibold', label: initTimeString, setup: initTimeString == 'Now' ? (self) => { - Utils.timeout(60000, () => self.label = getFriendlyNotifTimeString(notifObject.time)) - } : () => {}, + let id = Utils.timeout(60000, () => { + self.label = getFriendlyNotifTimeString(notifObject.time); + id = null; + }); + self.connect('destroy', () => { if (id) GLib.source_remove(id) }); + } : () => { }, }); const notifText = Box({ valign: Gtk.Align.CENTER, diff --git a/.config/ags/modules/bar/normal/system.js b/.config/ags/modules/bar/normal/system.js index 040f7e4b..82a5bc38 100644 --- a/.config/ags/modules/bar/normal/system.js +++ b/.config/ags/modules/bar/normal/system.js @@ -28,16 +28,27 @@ const BarBatteryProgress = () => { }) } +const time = Variable('', { + poll: [ + userOptions.time.interval, + () => GLib.DateTime.new_now_local().format(userOptions.time.format), + ], +}) + +const date = Variable('', { + poll: [ + userOptions.time.dateInterval, + () => GLib.DateTime.new_now_local().format(userOptions.time.dateFormatLong), + ], +}) + const BarClock = () => Widget.Box({ vpack: 'center', className: 'spacing-h-4 bar-clock-box', children: [ Widget.Label({ className: 'bar-time', - 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: time.bind(), }), Widget.Label({ className: 'txt-norm txt-onLayer1', @@ -45,10 +56,7 @@ const BarClock = () => Widget.Box({ }), Widget.Label({ className: 'txt-smallie bar-date', - 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); - }), + label: date.bind(), }), ], }); diff --git a/.config/ags/modules/bar/normal/tray.js b/.config/ags/modules/bar/normal/tray.js index 727c28bb..d568bc76 100644 --- a/.config/ags/modules/bar/normal/tray.js +++ b/.config/ags/modules/bar/normal/tray.js @@ -3,15 +3,15 @@ import SystemTray from 'resource:///com/github/Aylur/ags/service/systemtray.js'; const { Box, Icon, Button, Revealer } = Widget; const { Gravity } = imports.gi.Gdk; -const SysTrayItem = (item) => Button({ +const SysTrayItem = (item) => item.id !== null ? Button({ className: 'bar-systray-item', - child: Icon({hpack: 'center'}).bind('icon', item, 'icon'), + child: Icon({ hpack: 'center' }).bind('icon', item, 'icon'), setup: (self) => self .hook(item, (self) => self.tooltipMarkup = item['tooltip-markup']) , onPrimaryClick: (_, event) => item.activate(event), onSecondaryClick: (btn, event) => item.menu.popup_at_widget(btn, Gravity.SOUTH, Gravity.NORTH, null), -}); +}) : null; export const Tray = (props = {}) => { const trayContent = Box({ diff --git a/.config/hypr/hyprland/execs.conf b/.config/hypr/hyprland/execs.conf index 840754e9..8a9b4c01 100644 --- a/.config/hypr/hyprland/execs.conf +++ b/.config/hypr/hyprland/execs.conf @@ -14,6 +14,9 @@ exec-once = dbus-update-activation-environment --all exec-once = sleep 1 && dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Some fix idk exec-once = hyprpm reload +# Audio +exec-once = easyeffects --gapplication-service + # Clipboard: history # exec-once = wl-paste --watch cliphist store & exec-once = wl-paste --type text --watch cliphist store diff --git a/.config/hypr/hyprland/keybinds.conf b/.config/hypr/hyprland/keybinds.conf index 5912f7f0..2fe92bc9 100644 --- a/.config/hypr/hyprland/keybinds.conf +++ b/.config/hypr/hyprland/keybinds.conf @@ -72,7 +72,7 @@ binde = Super, Semicolon, splitratio, -0.1 # [hidden] binde = Super, Apostrophe, splitratio, +0.1 # [hidden] # Positioning mode bind = Super+Alt, Space, togglefloating, -bind = Super+Alt, F, fakefullscreen, +bind = Super+Alt, F, fullscreenstate, 0 3 # Toggle fake fullscreen bind = Super, F, fullscreen, 0 bind = Super, D, fullscreen, 1