mirror of
https://github.com/zephrynis/nix-flake.git
synced 2026-02-19 04:21:55 +00:00
- Add complete colorshell v2.0.3 configuration to home/ags-config/ - Disable runner plugin and NightLight tile (incompatible with NixOS) - Customize SCSS with full opacity (no transparency) - Add dark pale blue color scheme in home/pywal-colors/ - Configure Papirus-Dark icon theme via home-manager - Make ~/.config/ags/ immutable and managed by Nix store - Auto-deploy pywal colors to ~/.cache/wal/colors.json All AGS configuration is now reproducible and version controlled.
35 lines
1.6 KiB
TypeScript
35 lines
1.6 KiB
TypeScript
import { Page, PageButton } from "../Page";
|
|
import { Wireplumber } from "../../../../modules/volume";
|
|
import { Gtk } from "ags/gtk4";
|
|
import { tr } from "../../../../i18n/intl";
|
|
import { createBinding, For } from "ags";
|
|
import { lookupIcon } from "../../../../modules/apps";
|
|
|
|
import AstalWp from "gi://AstalWp?version=0.1";
|
|
|
|
|
|
export const PageMicrophone = <Page
|
|
id={"microphone"}
|
|
title={tr("control_center.pages.microphone.title")}
|
|
description={tr("control_center.pages.microphone.description")}
|
|
content={() => [
|
|
<Gtk.Label class={"sub-header"} label={tr("devices")} xalign={0} />,
|
|
<Gtk.Box orientation={Gtk.Orientation.VERTICAL} spacing={4}>
|
|
<For each={createBinding(Wireplumber.getWireplumber().get_audio()!, "microphones")}>
|
|
{(source: AstalWp.Endpoint) => <PageButton class={
|
|
createBinding(source, "isDefault").as(isDefault => isDefault ? "selected" : "")
|
|
} icon={createBinding(source, "icon").as(ico => lookupIcon(ico) ?
|
|
ico : "audio-input-microphone-symbolic")} title={
|
|
createBinding(source, "description").as(desc => desc ?? "Microphone")
|
|
} actionClicked={() => !source.isDefault && source.set_is_default(true)}
|
|
endWidget={
|
|
<Gtk.Image iconName={"object-select-symbolic"} visible={
|
|
createBinding(source, "isDefault")} css={"font-size: 18px;"}
|
|
/>
|
|
}
|
|
/>}
|
|
</For>
|
|
</Gtk.Box>
|
|
]}
|
|
/> as Page;
|