diff options
| author | srdusr <trevorgray@srdusr.com> | 2025-08-30 19:22:59 +0200 |
|---|---|---|
| committer | srdusr <trevorgray@srdusr.com> | 2025-08-30 19:22:59 +0200 |
| commit | 19120d4f9761c67d99ed1ce3da6084b83f5a49c9 (patch) | |
| tree | f234cad1bdad88114a63c9702144da487024967a /.config/ags/widget/quicksettings/QuickSettings.ts | |
| parent | 5928998af5404ae2be84c6cecc10ebf84bd3f3ed (diff) | |
| download | dotfiles-19120d4f9761c67d99ed1ce3da6084b83f5a49c9.tar.gz dotfiles-19120d4f9761c67d99ed1ce3da6084b83f5a49c9.zip | |
Linux-specific dotfiles
Diffstat (limited to '.config/ags/widget/quicksettings/QuickSettings.ts')
| -rw-r--r-- | .config/ags/widget/quicksettings/QuickSettings.ts | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/.config/ags/widget/quicksettings/QuickSettings.ts b/.config/ags/widget/quicksettings/QuickSettings.ts deleted file mode 100644 index 2c0d6ac..0000000 --- a/.config/ags/widget/quicksettings/QuickSettings.ts +++ /dev/null @@ -1,84 +0,0 @@ -import type Gtk from "gi://Gtk?version=3.0" -import { ProfileSelector, ProfileToggle } from "./widgets/PowerProfile" -import { Header } from "./widgets/Header" -import { Volume, Microhone, SinkSelector, AppMixer } from "./widgets/Volume" -import { Brightness } from "./widgets/Brightness" -import { NetworkToggle, WifiSelection } from "./widgets/Network" -import { BluetoothToggle, BluetoothDevices } from "./widgets/Bluetooth" -import { DND } from "./widgets/DND" -import { DarkModeToggle } from "./widgets/DarkMode" -import { MicMute } from "./widgets/MicMute" -import { Media } from "./widgets/Media" -import PopupWindow from "widget/PopupWindow" -import options from "options" - -const { bar, quicksettings } = options -const media = (await Service.import("mpris")).bind("players") -const layout = Utils.derive([bar.position, quicksettings.position], (bar, qs) => - `${bar}-${qs}` as const, -) - -const Row = ( - toggles: Array<() => Gtk.Widget> = [], - menus: Array<() => Gtk.Widget> = [], -) => Widget.Box({ - vertical: true, - children: [ - Widget.Box({ - homogeneous: true, - class_name: "row horizontal", - children: toggles.map(w => w()), - }), - ...menus.map(w => w()), - ], -}) - -const Settings = () => Widget.Box({ - vertical: true, - class_name: "quicksettings vertical", - css: quicksettings.width.bind().as(w => `min-width: ${w}px;`), - children: [ - Header(), - Widget.Box({ - class_name: "sliders-box vertical", - vertical: true, - children: [ - Row( - [Volume], - [SinkSelector, AppMixer], - ), - Microhone(), - Brightness(), - ], - }), - Row( - [NetworkToggle, BluetoothToggle], - [WifiSelection, BluetoothDevices], - ), - Row( - [ProfileToggle, DarkModeToggle], - [ProfileSelector], - ), - Row([MicMute, DND]), - Widget.Box({ - visible: media.as(l => l.length > 0), - child: Media(), - }), - ], -}) - -const QuickSettings = () => PopupWindow({ - name: "quicksettings", - exclusivity: "exclusive", - transition: bar.position.bind().as(pos => pos === "top" ? "slide_down" : "slide_up"), - layout: layout.value, - child: Settings(), -}) - -export function setupQuickSettings() { - App.addWindow(QuickSettings()) - layout.connect("changed", () => { - App.removeWindow("quicksettings") - App.addWindow(QuickSettings()) - }) -} |
