From dfbfe006c5eff9f55c7a16be2fbf3b760bac8432 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Thu, 4 Jan 2024 20:12:27 +0700 Subject: [PATCH] more Hyprland.sendMessage --- .config/ags/widgets/bar/music.js | 5 +++-- .config/ags/widgets/bar/system.js | 5 +++-- .config/ags/widgets/overview/overview.js | 19 ++++++++----------- .config/ags/widgets/overview/searchbuttons.js | 2 +- 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/.config/ags/widgets/bar/music.js b/.config/ags/widgets/bar/music.js index 2892164d..f72be6a9 100644 --- a/.config/ags/widgets/bar/music.js +++ b/.config/ags/widgets/bar/music.js @@ -1,6 +1,7 @@ import { Service, Utils, Widget } from '../../imports.js'; import Mpris from 'resource:///com/github/Aylur/ags/service/mpris.js'; import Audio from 'resource:///com/github/Aylur/ags/service/audio.js'; +import Hyprland from 'resource:///com/github/Aylur/ags/service/hyprland.js'; const { execAsync, exec } = Utils; import { AnimatedCircProg } from "../../lib/animatedcircularprogress.js"; import { showMusicControls } from '../../variables.js'; @@ -30,8 +31,8 @@ const TrackProgress = () => { } export const ModuleMusic = () => Widget.EventBox({ - onScrollUp: () => execAsync('hyprctl dispatch workspace -1'), - onScrollDown: () => execAsync('hyprctl dispatch workspace +1'), + onScrollUp: () => Hyprland.sendMessage(`dispatch workspace -1`), + onScrollDown: () => Hyprland.sendMessage(`dispatch workspace +1`), onPrimaryClickRelease: () => showMusicControls.setValue(!showMusicControls.value), onSecondaryClickRelease: () => execAsync(['bash', '-c', 'playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"` &']), onMiddleClickRelease: () => Mpris.getPlayer('')?.playPause(), diff --git a/.config/ags/widgets/bar/system.js b/.config/ags/widgets/bar/system.js index 8c546533..db1719a2 100644 --- a/.config/ags/widgets/bar/system.js +++ b/.config/ags/widgets/bar/system.js @@ -4,6 +4,7 @@ import { Service, Utils, Widget } from '../../imports.js'; const { Box, Label, Button, Overlay, Revealer, Scrollable, Stack, EventBox } = Widget; const { exec, execAsync } = Utils; const { GLib } = imports.gi; +import Hyprland from 'resource:///com/github/Aylur/ags/service/hyprland.js'; import Battery from 'resource:///com/github/Aylur/ags/service/battery.js'; import { MaterialIcon } from '../../lib/materialicon.js'; import { AnimatedCircProg } from "../../lib/animatedcircularprogress.js"; @@ -173,8 +174,8 @@ const BarGroup = ({ child }) => Widget.Box({ }); export const ModuleSystem = () => Widget.EventBox({ - onScrollUp: () => execAsync('hyprctl dispatch workspace -1'), - onScrollDown: () => execAsync('hyprctl dispatch workspace +1'), + onScrollUp: () => Hyprland.sendMessage(`dispatch workspace -1`), + onScrollDown: () => Hyprland.sendMessage(`dispatch workspace +1`), onPrimaryClick: () => App.toggleWindow('sideright'), child: Widget.Box({ className: 'spacing-h-5', diff --git a/.config/ags/widgets/overview/overview.js b/.config/ags/widgets/overview/overview.js index d1dc5af4..a32421ea 100644 --- a/.config/ags/widgets/overview/overview.js +++ b/.config/ags/widgets/overview/overview.js @@ -126,10 +126,10 @@ const client = ({ address, size: [w, h], workspace: { id, name }, class: c, titl hpack: 'center', vpack: 'center', onClicked: () => { - execAsync([`bash`, `-c`, `hyprctl dispatch focuswindow address:${address}`, `&`]).catch(print); + Hyprland.sendMessage(`dispatch focuswindow address:${address}`); App.closeWindow('overview'); }, - onMiddleClickRelease: () => execAsync([`bash`, `-c`, `hyprctl dispatch closewindow address:${address}`, `&`]).catch(print), + onMiddleClickRelease: () => Hyprland.sendMessage(`dispatch closewindow address:${address}`), onSecondaryClick: (button) => { button.toggleClassName('overview-tasks-window-selected', true); const menu = Widget.Menu({ @@ -140,10 +140,7 @@ const client = ({ address, size: [w, h], workspace: { id, name }, class: c, titl xalign: 0, label: "Close (Middle-click)", }), - onActivate: () => { - execAsync([`bash`, `-c`, `hyprctl dispatch closewindow address:${address}`, `&`]) - .catch(print); - } + onActivate: () => Hyprland.sendMessage(`dispatch closewindow address:${address}`), }), ContextWorkspaceArray({ label: "Dump windows to workspace", @@ -243,15 +240,15 @@ const workspace = index => { children: [Widget.EventBox({ hexpand: true, vexpand: true, - onPrimaryClickRelease: () => { - execAsync([`bash`, `-c`, `hyprctl dispatch workspace ${index}`, `&`]).catch(print); + onPrimaryClick: () => { + Hyprland.sendMessage(`dispatch workspace ${index}`) App.closeWindow('overview'); }, - setup: eventbox => { + setup: (eventbox) => { eventbox.drag_dest_set(Gtk.DestDefaults.ALL, TARGET, Gdk.DragAction.COPY); eventbox.connect('drag-data-received', (_w, _c, _x, _y, data) => { overviewTick.value = !overviewTick.value; - execAsync([`bash`, `-c`, `hyprctl dispatch movetoworkspacesilent ${index},address:${data.get_text()}`, `&`]).catch(print); + Hyprland.sendMessage(`dispatch movetoworkspacesilent ${index},address:${data.get_text()}`) }); }, child: fixed, @@ -434,7 +431,7 @@ export const SearchAndWindows = () => { else { App.closeWindow('overview'); - execAsync(['bash', '-c', `xdg-open 'https://www.google.com/search?q=${text} -site:quora.com' &`]).catch(print); // fuck quora + execAsync(['bash', '-c', `xdg-open 'https://www.google.com/search?q=${text} -site:quora.com' &`]).catch(print); // quora is useless } }, // Actually onChange but this is ta workaround for a bug diff --git a/.config/ags/widgets/overview/searchbuttons.js b/.config/ags/widgets/overview/searchbuttons.js index 1e70d443..f084d033 100644 --- a/.config/ags/widgets/overview/searchbuttons.js +++ b/.config/ags/widgets/overview/searchbuttons.js @@ -167,6 +167,6 @@ export const SearchButton = ({ text = '' }) => searchItem({ content: `${text}`, onActivate: () => { App.closeWindow('overview'); - execAsync(['bash', '-c', `xdg-open 'https://www.google.com/search?q=${text} -site:quora.com' &`]).catch(print); // fuck quora + execAsync(['bash', '-c', `xdg-open 'https://www.google.com/search?q=${text} -site:quora.com' &`]).catch(print); // quora is useless }, }); \ No newline at end of file