Merge branch 'Jas-SinghFSU:master' into master
This commit is contained in:
12
flake.lock
generated
12
flake.lock
generated
@@ -8,11 +8,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1735485506,
|
||||
"narHash": "sha256-7CWr3Q83KnGiLUn0oaboafLMOXQ0X9/fjFRVY1xopbM=",
|
||||
"lastModified": 1736090999,
|
||||
"narHash": "sha256-B5CJuHqfJrzPa7tObK0H9669/EClSHpa/P7B9EuvElU=",
|
||||
"owner": "aylur",
|
||||
"repo": "ags",
|
||||
"rev": "251d39413543264361898b02035775aa3e46fe52",
|
||||
"rev": "5527c3c07d92c11e04e7fd99d58429493dba7e3c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -44,11 +44,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1735291276,
|
||||
"narHash": "sha256-NYVcA06+blsLG6wpAbSPTCyLvxD/92Hy4vlY9WxFI1M=",
|
||||
"lastModified": 1736344531,
|
||||
"narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "634fd46801442d760e09493a794c4f15db2d0cbb",
|
||||
"rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -402,8 +402,11 @@ const main = async () => {
|
||||
const themeFiles = (await fs.readdir(themesDir)).filter((file) => file.endsWith('.json'));
|
||||
|
||||
const specialKeyMappings = {
|
||||
'theme.bar.menus.menu.bluetooth.scroller.color': 'theme.bar.menus.menu.bluetooth.label.color',
|
||||
'theme.bar.menus.menu.network.scroller.color': 'theme.bar.menus.menu.network.label.color',
|
||||
'theme.bar.buttons.modules.cava.text': 'theme.bar.buttons.modules.submap.text',
|
||||
'theme.bar.buttons.modules.cava.background': 'theme.bar.buttons.modules.submap.background',
|
||||
'theme.bar.buttons.modules.cava.icon_background': 'theme.bar.buttons.modules.submap.icon_background',
|
||||
'theme.bar.buttons.modules.cava.icon': 'theme.bar.buttons.modules.submap.icon',
|
||||
'theme.bar.buttons.modules.cava.border': 'theme.bar.buttons.modules.submap.border',
|
||||
};
|
||||
|
||||
const queue = [...themeFiles].filter(
|
||||
@@ -412,6 +415,7 @@ const main = async () => {
|
||||
);
|
||||
|
||||
const processQueue = async () => {
|
||||
const concurrencyLimit = 5;
|
||||
while (queue.length > 0) {
|
||||
const promises = [];
|
||||
for (let i = 0; i < concurrencyLimit && queue.length > 0; i++) {
|
||||
|
||||
@@ -23,6 +23,7 @@ import { Weather } from '../../components/bar/modules/weather/index';
|
||||
import { Power } from '../../components/bar/modules/power/index';
|
||||
import { Hyprsunset } from '../../components/bar/modules/hyprsunset/index';
|
||||
import { Hypridle } from '../../components/bar/modules/hypridle/index';
|
||||
import { Cava } from '../../components/bar/modules/cava/index';
|
||||
|
||||
export {
|
||||
Menu,
|
||||
@@ -50,4 +51,5 @@ export {
|
||||
Power,
|
||||
Hyprsunset,
|
||||
Hypridle,
|
||||
Cava,
|
||||
};
|
||||
|
||||
@@ -24,6 +24,7 @@ import {
|
||||
Power,
|
||||
Hyprsunset,
|
||||
Hypridle,
|
||||
Cava,
|
||||
} from './exports';
|
||||
|
||||
import { WidgetContainer } from './shared/WidgetContainer';
|
||||
@@ -62,6 +63,7 @@ const widget = {
|
||||
power: (): JSX.Element => WidgetContainer(Power()),
|
||||
hyprsunset: (): JSX.Element => WidgetContainer(Hyprsunset()),
|
||||
hypridle: (): JSX.Element => WidgetContainer(Hypridle()),
|
||||
cava: (): JSX.Element => WidgetContainer(Cava()),
|
||||
};
|
||||
|
||||
export const Bar = (() => {
|
||||
|
||||
@@ -11,11 +11,11 @@ import { Astal } from 'astal/gtk3';
|
||||
const { rightClick, middleClick, scrollDown, scrollUp } = options.bar.bluetooth;
|
||||
|
||||
const Bluetooth = (): BarBoxChild => {
|
||||
const btIcon = (isPowered: boolean): JSX.Element => (
|
||||
const BluetoothIcon = ({ isPowered }: BluetoothIconProps): JSX.Element => (
|
||||
<label className={'bar-button-icon bluetooth txt-icon bar'} label={isPowered ? '' : ''} />
|
||||
);
|
||||
|
||||
const btText = (isPowered: boolean, devices: AstalBluetooth.Device[]): JSX.Element => {
|
||||
const BluetoothLabel = ({ isPowered, devices }: BluetoothLabelProps): JSX.Element => {
|
||||
const connectDevices = devices.filter((device) => device.connected);
|
||||
|
||||
const label =
|
||||
@@ -39,11 +39,17 @@ const Bluetooth = (): BarBoxChild => {
|
||||
|
||||
const componentBinding = Variable.derive(
|
||||
[bind(options.bar.bluetooth.label), bind(bluetoothService, 'isPowered'), bind(bluetoothService, 'devices')],
|
||||
(showLabel: boolean, isPowered: boolean, devices: AstalBluetooth.Device[]): JSX.Element[] => {
|
||||
(showLabel: boolean, isPowered: boolean, devices: AstalBluetooth.Device[]): JSX.Element => {
|
||||
if (showLabel) {
|
||||
return [btIcon(isPowered), btText(isPowered, devices)];
|
||||
return (
|
||||
<box>
|
||||
<BluetoothIcon isPowered={isPowered} />
|
||||
<BluetoothLabel isPowered={isPowered} devices={devices} />
|
||||
</box>
|
||||
);
|
||||
}
|
||||
return [btIcon(isPowered)];
|
||||
|
||||
return <BluetoothIcon isPowered={isPowered} />;
|
||||
},
|
||||
);
|
||||
|
||||
@@ -101,4 +107,13 @@ const Bluetooth = (): BarBoxChild => {
|
||||
};
|
||||
};
|
||||
|
||||
interface BluetoothIconProps {
|
||||
isPowered: boolean;
|
||||
}
|
||||
|
||||
interface BluetoothLabelProps {
|
||||
isPowered: boolean;
|
||||
devices: AstalBluetooth.Device[];
|
||||
}
|
||||
|
||||
export { Bluetooth };
|
||||
|
||||
64
src/components/bar/modules/cava/helpers.ts
Normal file
64
src/components/bar/modules/cava/helpers.ts
Normal file
@@ -0,0 +1,64 @@
|
||||
import { bind, Variable } from 'astal';
|
||||
import { cavaService, mprisService } from 'src/lib/constants/services';
|
||||
import options from 'src/options';
|
||||
|
||||
const {
|
||||
showActiveOnly,
|
||||
bars,
|
||||
autoSensitivity,
|
||||
lowCutoff,
|
||||
highCutoff,
|
||||
noiseReduction,
|
||||
stereo,
|
||||
channels,
|
||||
framerate,
|
||||
samplerate,
|
||||
} = options.bar.customModules.cava;
|
||||
|
||||
/**
|
||||
* Initializes a visibility tracker that updates the visibility status based on the active state and the presence of players.
|
||||
*
|
||||
* @param isVis - A variable that holds the visibility status.
|
||||
*/
|
||||
export function initVisibilityTracker(isVis: Variable<boolean>): void {
|
||||
Variable.derive([bind(showActiveOnly), bind(mprisService, 'players')], (showActive, players) => {
|
||||
isVis.set(cavaService !== null && (!showActive || players?.length > 0));
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes a settings tracker that updates the CAVA service settings based on the provided options.
|
||||
*/
|
||||
export function initSettingsTracker(): void {
|
||||
const cava = cavaService;
|
||||
|
||||
if (!cava) {
|
||||
return;
|
||||
}
|
||||
|
||||
Variable.derive(
|
||||
[
|
||||
bind(bars),
|
||||
bind(channels),
|
||||
bind(framerate),
|
||||
bind(samplerate),
|
||||
bind(autoSensitivity),
|
||||
bind(lowCutoff),
|
||||
bind(highCutoff),
|
||||
bind(noiseReduction),
|
||||
bind(stereo),
|
||||
],
|
||||
(bars, channels, framerate, samplerate, autoSens, lCutoff, hCutoff, noiseRed, isStereo) => {
|
||||
cava.set_autosens(autoSens);
|
||||
cava.set_low_cutoff(lCutoff);
|
||||
cava.set_high_cutoff(hCutoff);
|
||||
cava.set_noise_reduction(noiseRed);
|
||||
cava.set_source('auto');
|
||||
cava.set_stereo(isStereo);
|
||||
cava.set_bars(bars);
|
||||
cava.set_channels(channels);
|
||||
cava.set_framerate(framerate);
|
||||
cava.set_samplerate(samplerate);
|
||||
},
|
||||
);
|
||||
}
|
||||
77
src/components/bar/modules/cava/index.tsx
Normal file
77
src/components/bar/modules/cava/index.tsx
Normal file
@@ -0,0 +1,77 @@
|
||||
import { Variable, bind } from 'astal';
|
||||
import { Astal } from 'astal/gtk3';
|
||||
import { cavaService } from 'src/lib/constants/services';
|
||||
import { BarBoxChild } from 'src/lib/types/bar';
|
||||
import { Module } from '../../shared/Module';
|
||||
import { inputHandler } from '../../utils/helpers';
|
||||
import options from 'src/options';
|
||||
import { initSettingsTracker, initVisibilityTracker } from './helpers';
|
||||
|
||||
const {
|
||||
icon,
|
||||
showIcon: label,
|
||||
showActiveOnly,
|
||||
barCharacters,
|
||||
spaceCharacter,
|
||||
leftClick,
|
||||
rightClick,
|
||||
middleClick,
|
||||
scrollUp,
|
||||
scrollDown,
|
||||
} = options.bar.customModules.cava;
|
||||
|
||||
const isVis = Variable(!showActiveOnly.get());
|
||||
|
||||
initVisibilityTracker(isVis);
|
||||
initSettingsTracker();
|
||||
|
||||
export const Cava = (): BarBoxChild => {
|
||||
let labelBinding: Variable<string> = Variable('');
|
||||
|
||||
if (cavaService) {
|
||||
labelBinding = Variable.derive(
|
||||
[bind(cavaService, 'values'), bind(spaceCharacter), bind(barCharacters)],
|
||||
(values, spacing, blockCharacters) => {
|
||||
const valueMap = values
|
||||
.map((v: number) => {
|
||||
const index = Math.floor(v * blockCharacters.length);
|
||||
return blockCharacters[Math.min(index, blockCharacters.length - 1)];
|
||||
})
|
||||
.join(spacing);
|
||||
return valueMap;
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
return Module({
|
||||
isVis,
|
||||
label: labelBinding(),
|
||||
showIconBinding: bind(label),
|
||||
textIcon: bind(icon),
|
||||
boxClass: 'cava',
|
||||
props: {
|
||||
setup: (self: Astal.Button) => {
|
||||
inputHandler(self, {
|
||||
onPrimaryClick: {
|
||||
cmd: leftClick,
|
||||
},
|
||||
onSecondaryClick: {
|
||||
cmd: rightClick,
|
||||
},
|
||||
onMiddleClick: {
|
||||
cmd: middleClick,
|
||||
},
|
||||
onScrollUp: {
|
||||
cmd: scrollUp,
|
||||
},
|
||||
onScrollDown: {
|
||||
cmd: scrollDown,
|
||||
},
|
||||
});
|
||||
},
|
||||
onDestroy: () => {
|
||||
labelBinding.drop();
|
||||
},
|
||||
},
|
||||
});
|
||||
};
|
||||
@@ -13,8 +13,8 @@ const { style } = options.theme.bar.buttons;
|
||||
const time = Variable.derive([systemTime, format], (c, f) => c.format(f) || '');
|
||||
|
||||
const Clock = (): BarBoxChild => {
|
||||
const clockTime = <label className={'bar-button-label clock bar'} label={bind(time)} />;
|
||||
const clockIcon = <label className={'bar-button-icon clock txt-icon bar'} label={bind(icon)} />;
|
||||
const ClockTime = (): JSX.Element => <label className={'bar-button-label clock bar'} label={bind(time)} />;
|
||||
const ClockIcon = (): JSX.Element => <label className={'bar-button-icon clock txt-icon bar'} label={bind(icon)} />;
|
||||
|
||||
const componentClassName = Variable.derive(
|
||||
[bind(style), bind(showIcon), bind(showTime)],
|
||||
@@ -31,11 +31,16 @@ const Clock = (): BarBoxChild => {
|
||||
|
||||
const componentChildren = Variable.derive([bind(showIcon), bind(showTime)], (shIcn, shTm) => {
|
||||
if (shIcn && !shTm) {
|
||||
return [clockIcon];
|
||||
return <ClockIcon />;
|
||||
} else if (shTm && !shIcn) {
|
||||
return [clockTime];
|
||||
return <ClockTime />;
|
||||
}
|
||||
return [clockIcon, clockTime];
|
||||
return (
|
||||
<box>
|
||||
<ClockIcon />
|
||||
<ClockTime />
|
||||
</box>
|
||||
);
|
||||
});
|
||||
|
||||
const component = (
|
||||
|
||||
@@ -23,7 +23,7 @@ const Network = (): BarBoxChild => {
|
||||
},
|
||||
);
|
||||
|
||||
const networkIcon = <icon className={'bar-button-icon network-icon'} icon={iconBinding()} />;
|
||||
const NetworkIcon = (): JSX.Element => <icon className={'bar-button-icon network-icon'} icon={iconBinding()} />;
|
||||
|
||||
const networkLabel = Variable.derive(
|
||||
[
|
||||
@@ -66,8 +66,6 @@ const Network = (): BarBoxChild => {
|
||||
},
|
||||
);
|
||||
|
||||
const componentChildren = [networkIcon, networkLabel()];
|
||||
|
||||
const component = (
|
||||
<box
|
||||
vexpand
|
||||
@@ -79,7 +77,8 @@ const Network = (): BarBoxChild => {
|
||||
componentClassName.drop();
|
||||
}}
|
||||
>
|
||||
{componentChildren}
|
||||
<NetworkIcon />
|
||||
{networkLabel()}
|
||||
</box>
|
||||
);
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ export const Notifications = (): BarBoxChild => {
|
||||
) => {
|
||||
const filteredNotifications = filterNotifications(notif, ignoredNotifs);
|
||||
|
||||
const notifIcon = (
|
||||
const NotifIcon = (): JSX.Element => (
|
||||
<label
|
||||
halign={Gtk.Align.CENTER}
|
||||
className={'bar-button-icon notifications txt-icon bar'}
|
||||
@@ -52,7 +52,7 @@ export const Notifications = (): BarBoxChild => {
|
||||
/>
|
||||
);
|
||||
|
||||
const notifLabel = (
|
||||
const NotifLabel = (): JSX.Element => (
|
||||
<label
|
||||
halign={Gtk.Align.CENTER}
|
||||
className={'bar-button-label notifications'}
|
||||
@@ -62,11 +62,16 @@ export const Notifications = (): BarBoxChild => {
|
||||
|
||||
if (showTotal) {
|
||||
if (hideCountForZero && filteredNotifications.length === 0) {
|
||||
return [notifIcon];
|
||||
return <NotifIcon />;
|
||||
}
|
||||
return [notifIcon, notifLabel];
|
||||
return (
|
||||
<box>
|
||||
<NotifIcon />
|
||||
<NotifLabel />
|
||||
</box>
|
||||
);
|
||||
}
|
||||
return [notifIcon];
|
||||
return <NotifIcon />;
|
||||
},
|
||||
);
|
||||
|
||||
|
||||
@@ -11,12 +11,12 @@ import { Astal } from 'astal/gtk3';
|
||||
const { rightClick, middleClick, scrollUp, scrollDown } = options.bar.volume;
|
||||
|
||||
const Volume = (): BarBoxChild => {
|
||||
const volumeIcon = (isMuted: boolean, vol: number): JSX.Element => {
|
||||
return <label className={'bar-button-icon volume txt-icon bar'} label={getIcon(isMuted, vol)} />;
|
||||
const VolumeIcon = ({ isMuted, volume }: VolumeIconProps): JSX.Element => {
|
||||
return <label className={'bar-button-icon volume txt-icon bar'} label={getIcon(isMuted, volume)} />;
|
||||
};
|
||||
|
||||
const volumeLabel = (vol: number): JSX.Element => {
|
||||
return <label className={'bar-button-label volume'} label={`${Math.round(vol * 100)}%`} />;
|
||||
const VolumeLabel = ({ volume }: VolumeLabelProps): JSX.Element => {
|
||||
return <label className={'bar-button-label volume'} label={`${Math.round(volume * 100)}%`} />;
|
||||
};
|
||||
|
||||
const componentTooltip = Variable.derive(
|
||||
@@ -49,9 +49,15 @@ const Volume = (): BarBoxChild => {
|
||||
],
|
||||
(showLabel, vol, isMuted) => {
|
||||
if (showLabel) {
|
||||
return [volumeIcon(isMuted, vol), volumeLabel(vol)];
|
||||
return (
|
||||
<box>
|
||||
<VolumeIcon isMuted={isMuted} volume={vol} />
|
||||
<VolumeLabel volume={vol} />
|
||||
</box>
|
||||
);
|
||||
}
|
||||
return [volumeIcon(isMuted, vol)];
|
||||
|
||||
return <VolumeIcon isMuted={isMuted} volume={vol} />;
|
||||
},
|
||||
);
|
||||
const component = (
|
||||
@@ -117,4 +123,13 @@ const Volume = (): BarBoxChild => {
|
||||
};
|
||||
};
|
||||
|
||||
interface VolumeIconProps {
|
||||
isMuted: boolean;
|
||||
volume: number;
|
||||
}
|
||||
|
||||
interface VolumeLabelProps {
|
||||
volume: number;
|
||||
}
|
||||
|
||||
export { Volume };
|
||||
|
||||
@@ -36,7 +36,7 @@ export const getWindowMatch = (client: AstalHyprland.Client): Record<string, str
|
||||
['opera', '', 'Opera'],
|
||||
['vivaldi', '', 'Vivaldi'],
|
||||
['waterfox', '', 'Waterfox'],
|
||||
['thorium', '', 'Waterfox'],
|
||||
['thorium', '', 'Thorium'],
|
||||
['tor-browser', '', 'Tor Browser'],
|
||||
['floorp', '', 'Floorp'],
|
||||
|
||||
@@ -49,6 +49,7 @@ export const getWindowMatch = (client: AstalHyprland.Client): Record<string, str
|
||||
['tilix', '', 'Tilix'],
|
||||
['xterm', '', 'XTerm'],
|
||||
['urxvt', '', 'URxvt'],
|
||||
['com.mitchellh.ghostty', '', 'Ghostty'],
|
||||
['st', '', 'st Terminal'],
|
||||
|
||||
// Development Tools
|
||||
|
||||
@@ -13,6 +13,26 @@ const { leftClick, rightClick, middleClick, scrollDown, scrollUp } = options.bar
|
||||
const ClientTitle = (): BarBoxChild => {
|
||||
const { custom_title, class_name, label, icon, truncation, truncation_size } = options.bar.windowtitle;
|
||||
|
||||
const ClientIcon = ({ client }: ClientIconProps): JSX.Element => {
|
||||
return <label className={'bar-button-icon windowtitle txt-icon bar'} label={getWindowMatch(client).icon} />;
|
||||
};
|
||||
|
||||
const ClientLabel = ({
|
||||
client,
|
||||
useCustomTitle,
|
||||
useClassName,
|
||||
showIcon,
|
||||
truncate,
|
||||
truncationSize,
|
||||
}: ClientLabelProps): JSX.Element => {
|
||||
return (
|
||||
<label
|
||||
className={`bar-button-label windowtitle ${showIcon ? '' : 'no-icon'}`}
|
||||
label={truncateTitle(getTitle(client, useCustomTitle, useClassName), truncate ? truncationSize : -1)}
|
||||
/>
|
||||
);
|
||||
};
|
||||
|
||||
const componentClassName = Variable.derive(
|
||||
[bind(options.theme.bar.buttons.style), bind(label)],
|
||||
(style: string, showLabel: boolean) => {
|
||||
@@ -48,22 +68,18 @@ const ClientTitle = (): BarBoxChild => {
|
||||
const children: JSX.Element[] = [];
|
||||
|
||||
if (showIcon) {
|
||||
children.push(
|
||||
<label
|
||||
className={'bar-button-icon windowtitle txt-icon bar'}
|
||||
label={getWindowMatch(client).icon}
|
||||
/>,
|
||||
);
|
||||
children.push(<ClientIcon client={client} />);
|
||||
}
|
||||
|
||||
if (showLabel) {
|
||||
children.push(
|
||||
<label
|
||||
className={`bar-button-label windowtitle ${showIcon ? '' : 'no-icon'}`}
|
||||
label={truncateTitle(
|
||||
getTitle(client, useCustomTitle, useClassName),
|
||||
truncate ? truncationSize : -1,
|
||||
)}
|
||||
<ClientLabel
|
||||
client={client}
|
||||
useCustomTitle={useCustomTitle}
|
||||
useClassName={useClassName}
|
||||
truncate={truncate}
|
||||
truncationSize={truncationSize}
|
||||
showIcon={showIcon}
|
||||
/>,
|
||||
);
|
||||
}
|
||||
@@ -122,4 +138,17 @@ const ClientTitle = (): BarBoxChild => {
|
||||
};
|
||||
};
|
||||
|
||||
interface ClientIconProps {
|
||||
client: AstalHyprland.Client;
|
||||
}
|
||||
|
||||
interface ClientLabelProps {
|
||||
client: AstalHyprland.Client;
|
||||
useCustomTitle: boolean;
|
||||
useClassName: boolean;
|
||||
showIcon: boolean;
|
||||
truncate: boolean;
|
||||
truncationSize: number;
|
||||
}
|
||||
|
||||
export { ClientTitle };
|
||||
|
||||
@@ -94,13 +94,15 @@ function isWorkspaceValidForMonitor(
|
||||
});
|
||||
|
||||
const currentMonitorName = monitorNameMap[monitorId];
|
||||
const currentMonitorWorkspaceRules = workspaceMonitorRules[currentMonitorName];
|
||||
const currentMonitorWorkspaceRules = workspaceMonitorRules[currentMonitorName] ?? [];
|
||||
const activeWorkspaceIds = new Set(allWorkspaceInstances.map((ws) => ws.id));
|
||||
const filteredWorkspaceRules = currentMonitorWorkspaceRules.filter((ws) => !activeWorkspaceIds.has(ws));
|
||||
|
||||
if (currentMonitorWorkspaceRules === undefined) {
|
||||
if (filteredWorkspaceRules === undefined) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return currentMonitorWorkspaceRules.includes(workspaceId);
|
||||
return filteredWorkspaceRules.includes(workspaceId);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -319,6 +321,12 @@ export function getWorkspacesToRender(
|
||||
);
|
||||
|
||||
const activeWorkspacesForCurrentMonitor = activeWorkspaceIds.filter((workspaceId) => {
|
||||
const metadataForWorkspace = allWorkspaceInstances.find((workspaceObj) => workspaceObj.id === workspaceId);
|
||||
|
||||
if (metadataForWorkspace) {
|
||||
return metadataForWorkspace?.monitor?.id === monitorId;
|
||||
}
|
||||
|
||||
if (
|
||||
currentMonitorInstance &&
|
||||
Object.hasOwnProperty.call(workspaceMonitorRules, currentMonitorInstance.name) &&
|
||||
@@ -326,8 +334,6 @@ export function getWorkspacesToRender(
|
||||
) {
|
||||
return workspaceMonitorRules[currentMonitorInstance.name].includes(workspaceId);
|
||||
}
|
||||
const metadataForWorkspace = allWorkspaceInstances.find((workspaceObj) => workspaceObj.id === workspaceId);
|
||||
return metadataForWorkspace?.monitor?.id === monitorId;
|
||||
});
|
||||
|
||||
if (isMonitorSpecific) {
|
||||
|
||||
@@ -354,6 +354,43 @@ export const CustomModuleSettings = (): JSX.Element => {
|
||||
<Option opt={options.bar.customModules.hypridle.scrollUp} title="Scroll Up" type="string" />
|
||||
<Option opt={options.bar.customModules.hypridle.scrollDown} title="Scroll Down" type="string" />
|
||||
|
||||
{/* Cava Section */}
|
||||
<Header title="Cava" />
|
||||
<Option
|
||||
opt={options.theme.bar.buttons.modules.cava.enableBorder}
|
||||
title="Button Border"
|
||||
type="boolean"
|
||||
/>
|
||||
<Option opt={options.bar.customModules.cava.icon} title="Icon" type="string" />
|
||||
<Option opt={options.bar.customModules.cava.showIcon} title="Show Icon" type="boolean" />
|
||||
<Option opt={options.theme.bar.buttons.modules.cava.spacing} title="Spacing" type="string" />
|
||||
<Option opt={options.bar.customModules.cava.barCharacters} title="Bar Characters" type="object" />
|
||||
<Option opt={options.bar.customModules.cava.spaceCharacter} title="Bar Separator" type="string" />
|
||||
<Option
|
||||
opt={options.bar.customModules.cava.showActiveOnly}
|
||||
title="Auto Hide"
|
||||
subtitle="Hide if no media detected."
|
||||
type="boolean"
|
||||
/>
|
||||
<Option opt={options.bar.customModules.cava.bars} title="Bars" type="number" />
|
||||
<Option opt={options.bar.customModules.cava.channels} title="Channels" type="number" />
|
||||
<Option opt={options.bar.customModules.cava.framerate} title="Framerate" type="number" />
|
||||
<Option opt={options.bar.customModules.cava.samplerate} title="Sample Rate" type="number" />
|
||||
<Option
|
||||
opt={options.bar.customModules.cava.autoSensitivity}
|
||||
title="Automatic Sensitivity"
|
||||
type="boolean"
|
||||
/>
|
||||
<Option opt={options.bar.customModules.cava.lowCutoff} title="Low Cutoff" type="number" />
|
||||
<Option opt={options.bar.customModules.cava.highCutoff} title="High Cutoff" type="number" />
|
||||
<Option opt={options.bar.customModules.cava.noiseReduction} title="Noise Reduction" type="float" />
|
||||
<Option opt={options.bar.customModules.cava.stereo} title="Stereo" type="boolean" />
|
||||
<Option opt={options.bar.customModules.cava.leftClick} title="Left Click" type="string" />
|
||||
<Option opt={options.bar.customModules.cava.rightClick} title="Right Click" type="string" />
|
||||
<Option opt={options.bar.customModules.cava.middleClick} title="Middle Click" type="string" />
|
||||
<Option opt={options.bar.customModules.cava.scrollUp} title="Scroll Up" type="string" />
|
||||
<Option opt={options.bar.customModules.cava.scrollDown} title="Scroll Down" type="string" />
|
||||
|
||||
{/* Power Section */}
|
||||
<Header title="Power" />
|
||||
<Option
|
||||
|
||||
@@ -193,6 +193,19 @@ export const CustomModuleTheme = (): JSX.Element => {
|
||||
/>
|
||||
<Option opt={options.theme.bar.buttons.modules.hypridle.border} title="Border" type="color" />
|
||||
|
||||
{/* Cava Module Section */}
|
||||
<Header title="Cava" />
|
||||
<Option opt={options.theme.bar.buttons.modules.cava.text} title="Bars" type="color" />
|
||||
<Option opt={options.theme.bar.buttons.modules.cava.icon} title="Icon" type="color" />
|
||||
<Option opt={options.theme.bar.buttons.modules.cava.background} title="Label Background" type="color" />
|
||||
<Option
|
||||
opt={options.theme.bar.buttons.modules.cava.icon_background}
|
||||
title="Icon Background"
|
||||
subtitle="Applies a background color to the icon section of the button.\nRequires 'split' button styling."
|
||||
type="color"
|
||||
/>
|
||||
<Option opt={options.theme.bar.buttons.modules.cava.border} title="Border" type="color" />
|
||||
|
||||
{/* Power Module Section */}
|
||||
<Header title="Power" />
|
||||
<Option opt={options.theme.bar.buttons.modules.power.icon} title="Icon" type="color" />
|
||||
|
||||
@@ -5,8 +5,6 @@ import options from 'src/options';
|
||||
|
||||
const { style } = options.theme.bar.buttons;
|
||||
|
||||
const undefinedVar = Variable(undefined);
|
||||
|
||||
export const Module = ({
|
||||
icon,
|
||||
textIcon,
|
||||
@@ -16,7 +14,8 @@ export const Module = ({
|
||||
boxClass,
|
||||
isVis,
|
||||
props = {},
|
||||
showLabelBinding = bind(undefinedVar),
|
||||
showLabelBinding = bind(Variable(true)),
|
||||
showIconBinding = bind(Variable(true)),
|
||||
showLabel,
|
||||
labelHook,
|
||||
hook,
|
||||
@@ -48,12 +47,12 @@ export const Module = ({
|
||||
);
|
||||
|
||||
const componentChildren = Variable.derive(
|
||||
[showLabelBinding, useTextIcon],
|
||||
(showLabel: boolean, forceTextIcon: boolean): JSX.Element[] => {
|
||||
[showLabelBinding, showIconBinding, useTextIcon],
|
||||
(showLabel: boolean, showIcon: boolean, forceTextIcon: boolean): JSX.Element[] => {
|
||||
const childrenArray = [];
|
||||
const iconWidget = getIconWidget(forceTextIcon);
|
||||
|
||||
if (iconWidget !== undefined) {
|
||||
if (showIcon && iconWidget !== undefined) {
|
||||
childrenArray.push(iconWidget);
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import options from 'src/options';
|
||||
import { Gdk } from 'astal/gtk3';
|
||||
import { GtkWidget } from 'src/lib/types/widget';
|
||||
import { onMiddleClick, onPrimaryClick, onSecondaryClick } from 'src/lib/shared/eventHandlers';
|
||||
import { isScrollDown, isScrollUp } from 'src/lib/utils';
|
||||
|
||||
const { scrollSpeed } = options.bar.customModules;
|
||||
|
||||
@@ -45,7 +46,7 @@ export const runAsyncCommand: RunAsyncCommand = (cmd, events, fn, postInputUpdat
|
||||
return;
|
||||
}
|
||||
|
||||
execAsync(`bash -c "${cmd}"`)
|
||||
execAsync(['bash', '-c', cmd])
|
||||
.then((output) => {
|
||||
handlePostInputUpdater(postInputUpdater);
|
||||
if (fn !== undefined) {
|
||||
@@ -152,30 +153,19 @@ export const inputHandler = (
|
||||
});
|
||||
|
||||
const id = self.connect('scroll-event', (self: GtkWidget, event: Gdk.Event) => {
|
||||
const [directionSuccess, direction] = event.get_scroll_direction();
|
||||
const [deltaSuccess, , yScroll] = event.get_scroll_deltas();
|
||||
|
||||
const handleScroll = (input?: { cmd: Variable<string>; fn: (output: string) => void }): void => {
|
||||
if (input) {
|
||||
throttledHandler(sanitizeInput(input.cmd), { clicked: self, event }, input.fn, postInputUpdater);
|
||||
}
|
||||
};
|
||||
|
||||
if (directionSuccess) {
|
||||
if (direction === Gdk.ScrollDirection.UP) {
|
||||
if (isScrollUp(event)) {
|
||||
handleScroll(onScrollUpInput);
|
||||
} else if (direction === Gdk.ScrollDirection.DOWN) {
|
||||
handleScroll(onScrollDownInput);
|
||||
}
|
||||
}
|
||||
|
||||
if (deltaSuccess) {
|
||||
if (yScroll > 0) {
|
||||
handleScroll(onScrollUpInput);
|
||||
} else if (yScroll < 0) {
|
||||
if (isScrollDown(event)) {
|
||||
handleScroll(onScrollDownInput);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return {
|
||||
|
||||
@@ -4,8 +4,8 @@ import { App, Gtk } from 'astal/gtk3';
|
||||
import { bind } from 'astal';
|
||||
|
||||
export default (): JSX.Element => (
|
||||
<PopupWindow name="verification" transition="crossfade">
|
||||
<box className="verification">
|
||||
<PopupWindow name="verification" transition="crossfade" layout={'center'}>
|
||||
<box className="verification" expand={false}>
|
||||
<box className="verification-content" expand vertical>
|
||||
<box className="text-box" vertical>
|
||||
<label className="title" label={bind(powermenu, 'title').as((t) => t.toUpperCase())} />
|
||||
|
||||
@@ -57,8 +57,7 @@ const Layout: LayoutFunction = (name: string, child: GtkWidget, transition: Gtk.
|
||||
'top-right': () => (
|
||||
<box>
|
||||
<Padding name={name} />
|
||||
<box hexpand vertical>
|
||||
<Padding name={name} opts={{ vexpand: false, className: 'event-top-padding' }} />
|
||||
<box hexpand={false} vertical>
|
||||
<PopupRevealer name={name} child={child} transition={transition} />
|
||||
<Padding name={name} />
|
||||
</box>
|
||||
@@ -77,9 +76,7 @@ const Layout: LayoutFunction = (name: string, child: GtkWidget, transition: Gtk.
|
||||
),
|
||||
'top-left': () => (
|
||||
<box>
|
||||
<Padding name={name} />
|
||||
<box hexpand={false} vertical>
|
||||
<Padding name={name} opts={{ vexpand: false, className: 'event-top-padding' }} />
|
||||
<PopupRevealer name={name} child={child} transition={transition} />
|
||||
<Padding name={name} />
|
||||
</box>
|
||||
|
||||
@@ -32,3 +32,6 @@ export const brightnessService = Brightness.get_default();
|
||||
|
||||
import AstalPowerProfiles from 'gi://AstalPowerProfiles?version=0.1';
|
||||
export const powerProfilesService = AstalPowerProfiles.get_default();
|
||||
|
||||
import AstalCava from 'gi://AstalCava';
|
||||
export const cavaService = AstalCava.get_default();
|
||||
|
||||
1
src/lib/types/bar.d.ts
vendored
1
src/lib/types/bar.d.ts
vendored
@@ -33,6 +33,7 @@ export type BarModule = {
|
||||
props?: Widget.ButtonProps;
|
||||
showLabel?: boolean;
|
||||
showLabelBinding?: Binding;
|
||||
showIconBinding?: Binding;
|
||||
hook?: BoxHook;
|
||||
connection?: Binding<Connectable>;
|
||||
};
|
||||
|
||||
3
src/lib/types/options.d.ts
vendored
3
src/lib/types/options.d.ts
vendored
@@ -47,7 +47,8 @@ export type BarModule =
|
||||
| 'power'
|
||||
| 'systray'
|
||||
| 'hypridle'
|
||||
| 'hyprsunset';
|
||||
| 'hyprsunset'
|
||||
| 'cava';
|
||||
|
||||
export type BarLayout = {
|
||||
left: BarModule[];
|
||||
|
||||
@@ -408,6 +408,15 @@ const options = mkOptions(CONFIG, {
|
||||
icon_background: opt(colors.base2),
|
||||
spacing: opt('0.45em'),
|
||||
},
|
||||
cava: {
|
||||
enableBorder: opt(false),
|
||||
border: opt(colors.teal),
|
||||
background: opt(colors.base2),
|
||||
text: opt(colors.teal),
|
||||
icon: opt(colors.teal),
|
||||
icon_background: opt(colors.base2),
|
||||
spacing: opt('0.5em'),
|
||||
},
|
||||
},
|
||||
},
|
||||
menus: {
|
||||
@@ -1172,6 +1181,27 @@ const options = mkOptions(CONFIG, {
|
||||
scrollUp: opt(''),
|
||||
scrollDown: opt(''),
|
||||
},
|
||||
cava: {
|
||||
showIcon: opt(true),
|
||||
icon: opt(''),
|
||||
spaceCharacter: opt(' '),
|
||||
barCharacters: opt(['▁', '▂', '▃', '▄', '▅', '▆', '▇', '█']),
|
||||
showActiveOnly: opt(false),
|
||||
bars: opt(10),
|
||||
channels: opt(2),
|
||||
framerate: opt(60),
|
||||
samplerate: opt(44100),
|
||||
autoSensitivity: opt(true),
|
||||
lowCutoff: opt(50),
|
||||
highCutoff: opt(10000),
|
||||
noiseReduction: opt(0.77),
|
||||
stereo: opt(false),
|
||||
leftClick: opt(''),
|
||||
rightClick: opt(''),
|
||||
middleClick: opt(''),
|
||||
scrollUp: opt(''),
|
||||
scrollDown: opt(''),
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
|
||||
.bar-button-label.volume {
|
||||
color: if($bar-buttons-monochrome, $bar-buttons-text, $bar-buttons-volume-text);
|
||||
min-width: 2.2em;
|
||||
margin-left: $bar-buttons-volume-spacing;
|
||||
}
|
||||
|
||||
|
||||
@@ -448,3 +448,30 @@
|
||||
// custom font size
|
||||
1.075em //
|
||||
);
|
||||
|
||||
/*
|
||||
* #################################
|
||||
* # Cava Styling #
|
||||
* #################################
|
||||
*/
|
||||
@include styleModule(
|
||||
//
|
||||
// class name
|
||||
'cava',
|
||||
// label color
|
||||
$bar-buttons-modules-cava-text,
|
||||
// icon color
|
||||
$bar-buttons-modules-cava-icon,
|
||||
// icon background if split style is used
|
||||
$bar-buttons-modules-cava-icon_background,
|
||||
// label background
|
||||
$bar-buttons-modules-cava-background,
|
||||
// inner spacing
|
||||
$bar-buttons-modules-cava-spacing,
|
||||
// if border enabled
|
||||
$bar-buttons-modules-cava-enableBorder,
|
||||
// border color
|
||||
$bar-buttons-modules-cava-border,
|
||||
// custom font size
|
||||
1.2em //
|
||||
);
|
||||
@@ -26,7 +26,7 @@ class Wallpaper extends GObject.Object {
|
||||
'--transition-duration',
|
||||
'1.5',
|
||||
'--transition-fps',
|
||||
'30',
|
||||
'60',
|
||||
'--transition-pos',
|
||||
cursorPosition.replace(' ', ''),
|
||||
WP,
|
||||
@@ -100,7 +100,7 @@ class Wallpaper extends GObject.Object {
|
||||
}
|
||||
});
|
||||
|
||||
if (dependencies('swww') && options.wallpaper.enable.get()) {
|
||||
if (options.wallpaper.enable.get() && dependencies('swww')) {
|
||||
this.#isRunning = true;
|
||||
|
||||
monitorFile(WP, () => {
|
||||
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#e78284",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#e78284",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#ca9ee6",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#99d1db"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#99d1db",
|
||||
"theme.bar.buttons.modules.cava.text": "#81c8be",
|
||||
"theme.bar.buttons.modules.cava.background": "#303446",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#303446",
|
||||
"theme.bar.buttons.modules.cava.icon": "#81c8be",
|
||||
"theme.bar.buttons.modules.cava.border": "#81c8be"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#e78284",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#e78284",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#ca9ee6",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#99d1db"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#99d1db",
|
||||
"theme.bar.buttons.modules.cava.text": "#81c8be",
|
||||
"theme.bar.buttons.modules.cava.background": "#303446",
|
||||
"theme.bar.buttons.modules.cava.icon": "#181825",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#81c8be",
|
||||
"theme.bar.buttons.modules.cava.border": "#81c8be"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#303446",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#e78284",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#ca9ee6",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#99d1db"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#99d1db",
|
||||
"theme.bar.buttons.modules.cava.background": "#81c8be",
|
||||
"theme.bar.buttons.modules.cava.text": "#303446",
|
||||
"theme.bar.buttons.modules.cava.icon": "#303446",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#303446",
|
||||
"theme.bar.buttons.modules.cava.border": "#81c8be"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#d20f39",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#d20f39",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#8839ef",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#04a5e5"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#04a5e5",
|
||||
"theme.bar.buttons.modules.cava.text": "#179299",
|
||||
"theme.bar.buttons.modules.cava.background": "#dcdfe8",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#dcdfe8",
|
||||
"theme.bar.buttons.modules.cava.icon": "#179299",
|
||||
"theme.bar.buttons.modules.cava.border": "#179299"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#d20f39",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#d20f39",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#8839ef",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#04a5e5"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#04a5e5",
|
||||
"theme.bar.buttons.modules.cava.text": "#179299",
|
||||
"theme.bar.buttons.modules.cava.background": "#dcdfe8",
|
||||
"theme.bar.buttons.modules.cava.icon": "#181825",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#179299",
|
||||
"theme.bar.buttons.modules.cava.border": "#179299"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#dcdfe8",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#d20f39",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#8839ef",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#04a5e5"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#04a5e5",
|
||||
"theme.bar.buttons.modules.cava.background": "#179299",
|
||||
"theme.bar.buttons.modules.cava.text": "#dcdfe8",
|
||||
"theme.bar.buttons.modules.cava.icon": "#dcdfe8",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#dcdfe8",
|
||||
"theme.bar.buttons.modules.cava.border": "#179299"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#ed8796",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#ed8796",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#c6a0f6",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#91d7e3"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#91d7e3",
|
||||
"theme.bar.buttons.modules.cava.text": "#8bd5ca",
|
||||
"theme.bar.buttons.modules.cava.background": "#24273a",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#24273a",
|
||||
"theme.bar.buttons.modules.cava.icon": "#8bd5ca",
|
||||
"theme.bar.buttons.modules.cava.border": "#8bd5ca"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#ed8796",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#ed8796",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#c6a0f6",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#91d7e3"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#91d7e3",
|
||||
"theme.bar.buttons.modules.cava.text": "#8bd5ca",
|
||||
"theme.bar.buttons.modules.cava.background": "#24273a",
|
||||
"theme.bar.buttons.modules.cava.icon": "#181825",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#8bd5ca",
|
||||
"theme.bar.buttons.modules.cava.border": "#8bd5ca"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#24273a",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#ed8796",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#c6a0f6",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#91d7e3"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#91d7e3",
|
||||
"theme.bar.buttons.modules.cava.background": "#8bd5ca",
|
||||
"theme.bar.buttons.modules.cava.text": "#24273a",
|
||||
"theme.bar.buttons.modules.cava.icon": "#24273a",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#24273a",
|
||||
"theme.bar.buttons.modules.cava.border": "#8bd5ca"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.background": "#242438",
|
||||
"theme.bar.buttons.modules.hypridle.icon_background": "#f5c2e7",
|
||||
"theme.bar.buttons.modules.hypridle.text": "#f5c2e7",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#f5c2e7"
|
||||
"theme.bar.buttons.modules.hypridle.border": "#f5c2e7",
|
||||
"theme.bar.buttons.modules.cava.text": "#94e2d5",
|
||||
"theme.bar.buttons.modules.cava.background": "#242438",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#242438",
|
||||
"theme.bar.buttons.modules.cava.icon": "#94e2d5",
|
||||
"theme.bar.buttons.modules.cava.border": "#94e2d5"
|
||||
}
|
||||
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.background": "#242438",
|
||||
"theme.bar.buttons.modules.hypridle.icon_background": "#f5c2e7",
|
||||
"theme.bar.buttons.modules.hypridle.text": "#f5c2e7",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#f5c2e7"
|
||||
"theme.bar.buttons.modules.hypridle.border": "#f5c2e7",
|
||||
"theme.bar.buttons.modules.cava.text": "#94e2d5",
|
||||
"theme.bar.buttons.modules.cava.background": "#242438",
|
||||
"theme.bar.buttons.modules.cava.icon": "#242438",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#94e2d5",
|
||||
"theme.bar.buttons.modules.cava.border": "#94e2d5"
|
||||
}
|
||||
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.background": "#f5c2e7",
|
||||
"theme.bar.buttons.modules.hypridle.icon_background": "#f5c2e7",
|
||||
"theme.bar.buttons.modules.hypridle.text": "#242438",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#f5c2e7"
|
||||
"theme.bar.buttons.modules.hypridle.border": "#f5c2e7",
|
||||
"theme.bar.buttons.modules.cava.background": "#94e2d5",
|
||||
"theme.bar.buttons.modules.cava.text": "#242438",
|
||||
"theme.bar.buttons.modules.cava.icon": "#242438",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#94e2d5",
|
||||
"theme.bar.buttons.modules.cava.border": "#94e2d5"
|
||||
}
|
||||
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#FF4500",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#FF4500",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#FFD700",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#00FFFF"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#00FFFF",
|
||||
"theme.bar.buttons.modules.cava.text": "#FF69B4",
|
||||
"theme.bar.buttons.modules.cava.background": "#121212",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#121212",
|
||||
"theme.bar.buttons.modules.cava.icon": "#FF69B4",
|
||||
"theme.bar.buttons.modules.cava.border": "#FF69B4"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#FF4500",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#FF4500",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#FFD700",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#00FFFF"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#00FFFF",
|
||||
"theme.bar.buttons.modules.cava.text": "#FF69B4",
|
||||
"theme.bar.buttons.modules.cava.background": "#121212",
|
||||
"theme.bar.buttons.modules.cava.icon": "#121212",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#FF69B4",
|
||||
"theme.bar.buttons.modules.cava.border": "#FF69B4"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#121212",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#FF4500",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#FFD700",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#00FFFF"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#00FFFF",
|
||||
"theme.bar.buttons.modules.cava.background": "#FF69B4",
|
||||
"theme.bar.buttons.modules.cava.text": "#121212",
|
||||
"theme.bar.buttons.modules.cava.icon": "#121212",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#121212",
|
||||
"theme.bar.buttons.modules.cava.border": "#FF69B4"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#bd93f9",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#bd93f9",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#bd93f9",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#8be9fd"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#8be9fd",
|
||||
"theme.bar.buttons.modules.cava.text": "#8be9fd",
|
||||
"theme.bar.buttons.modules.cava.background": "#44475a",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#44475a",
|
||||
"theme.bar.buttons.modules.cava.icon": "#8be9fd",
|
||||
"theme.bar.buttons.modules.cava.border": "#8be9fd"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#bd93f9",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#bd93f9",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#bd93f9",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#8be9fd"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#8be9fd",
|
||||
"theme.bar.buttons.modules.cava.text": "#8be9fd",
|
||||
"theme.bar.buttons.modules.cava.background": "#44475a",
|
||||
"theme.bar.buttons.modules.cava.icon": "#282936",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#8be9fd",
|
||||
"theme.bar.buttons.modules.cava.border": "#8be9fd"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#44475a",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#bd93f9",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#bd93f9",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#8be9fd"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#8be9fd",
|
||||
"theme.bar.buttons.modules.cava.background": "#8be9fd",
|
||||
"theme.bar.buttons.modules.cava.text": "#44475a",
|
||||
"theme.bar.buttons.modules.cava.icon": "#44475a",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#44475a",
|
||||
"theme.bar.buttons.modules.cava.border": "#8be9fd"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#e67e80",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#e67e80",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#83c092",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#83c092"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#83c092",
|
||||
"theme.bar.buttons.modules.cava.text": "#83c092",
|
||||
"theme.bar.buttons.modules.cava.background": "#323d43",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#323d43",
|
||||
"theme.bar.buttons.modules.cava.icon": "#83c092",
|
||||
"theme.bar.buttons.modules.cava.border": "#83c092"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#e67e80",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#e67e80",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#83c092",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#83c092"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#83c092",
|
||||
"theme.bar.buttons.modules.cava.text": "#83c092",
|
||||
"theme.bar.buttons.modules.cava.background": "#323d43",
|
||||
"theme.bar.buttons.modules.cava.icon": "#21252b",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#83c092",
|
||||
"theme.bar.buttons.modules.cava.border": "#83c092"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#323d43",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#e67e80",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#83c092",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#83c092"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#83c092",
|
||||
"theme.bar.buttons.modules.cava.background": "#83c092",
|
||||
"theme.bar.buttons.modules.cava.text": "#323d43",
|
||||
"theme.bar.buttons.modules.cava.icon": "#323d43",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#323d43",
|
||||
"theme.bar.buttons.modules.cava.border": "#83c092"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#83a598",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#83a598",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#b16286",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#83a598"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#83a598",
|
||||
"theme.bar.buttons.modules.cava.text": "#8ec07c",
|
||||
"theme.bar.buttons.modules.cava.background": "#282828",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#282828",
|
||||
"theme.bar.buttons.modules.cava.icon": "#8ec07c",
|
||||
"theme.bar.buttons.modules.cava.border": "#8ec07c"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#83a598",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#83a598",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#b16286",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#83a598"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#83a598",
|
||||
"theme.bar.buttons.modules.cava.text": "#8ec07c",
|
||||
"theme.bar.buttons.modules.cava.background": "#282828",
|
||||
"theme.bar.buttons.modules.cava.icon": "#21252b",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#8ec07c",
|
||||
"theme.bar.buttons.modules.cava.border": "#8ec07c"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#282828",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#83a598",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#b16286",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#83a598"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#83a598",
|
||||
"theme.bar.buttons.modules.cava.background": "#8ec07c",
|
||||
"theme.bar.buttons.modules.cava.text": "#282828",
|
||||
"theme.bar.buttons.modules.cava.icon": "#282828",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#282828",
|
||||
"theme.bar.buttons.modules.cava.border": "#8ec07c"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#ffffff",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#ffffff",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#FFFFFF",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#ffffff"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#ffffff",
|
||||
"theme.bar.buttons.modules.cava.text": "#FFFFFF",
|
||||
"theme.bar.buttons.modules.cava.background": "#090909",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#090909",
|
||||
"theme.bar.buttons.modules.cava.icon": "#FFFFFF",
|
||||
"theme.bar.buttons.modules.cava.border": "#FFFFFF"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#ffffff",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#ffffff",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#FFFFFF",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#ffffff"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#ffffff",
|
||||
"theme.bar.buttons.modules.cava.text": "#FFFFFF",
|
||||
"theme.bar.buttons.modules.cava.background": "#090909",
|
||||
"theme.bar.buttons.modules.cava.icon": "#21252b",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#FFFFFF",
|
||||
"theme.bar.buttons.modules.cava.border": "#FFFFFF"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#090909",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#ffffff",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#FFFFFF",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#ffffff"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#ffffff",
|
||||
"theme.bar.buttons.modules.cava.background": "#FFFFFF",
|
||||
"theme.bar.buttons.modules.cava.text": "#090909",
|
||||
"theme.bar.buttons.modules.cava.icon": "#090909",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#090909",
|
||||
"theme.bar.buttons.modules.cava.border": "#FFFFFF"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#8fbcbb",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#8fbcbb",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#88c0d0",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#88c0d0"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#88c0d0",
|
||||
"theme.bar.buttons.modules.cava.text": "#8fbcbb",
|
||||
"theme.bar.buttons.modules.cava.background": "#3b4252",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#3b4252",
|
||||
"theme.bar.buttons.modules.cava.icon": "#8fbcbb",
|
||||
"theme.bar.buttons.modules.cava.border": "#8fbcbb"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#8fbcbb",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#8fbcbb",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#88c0d0",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#88c0d0"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#88c0d0",
|
||||
"theme.bar.buttons.modules.cava.text": "#8fbcbb",
|
||||
"theme.bar.buttons.modules.cava.background": "#3b4252",
|
||||
"theme.bar.buttons.modules.cava.icon": "#21252b",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#8fbcbb",
|
||||
"theme.bar.buttons.modules.cava.border": "#8fbcbb"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#3b4252",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#8fbcbb",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#88c0d0",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#88c0d0"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#88c0d0",
|
||||
"theme.bar.buttons.modules.cava.background": "#8fbcbb",
|
||||
"theme.bar.buttons.modules.cava.text": "#3b4252",
|
||||
"theme.bar.buttons.modules.cava.icon": "#3b4252",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#3b4252",
|
||||
"theme.bar.buttons.modules.cava.border": "#8fbcbb"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#e06c75",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#e06c75",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#c678dd",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#56b6c2"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#56b6c2",
|
||||
"theme.bar.buttons.modules.cava.text": "#56b6c2",
|
||||
"theme.bar.buttons.modules.cava.background": "#21252b",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#21252b",
|
||||
"theme.bar.buttons.modules.cava.icon": "#56b6c2",
|
||||
"theme.bar.buttons.modules.cava.border": "#56b6c2"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#e06c75",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#e06c75",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#c678dd",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#56b6c2"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#56b6c2",
|
||||
"theme.bar.buttons.modules.cava.text": "#56b6c2",
|
||||
"theme.bar.buttons.modules.cava.background": "#21252b",
|
||||
"theme.bar.buttons.modules.cava.icon": "#21252b",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#56b6c2",
|
||||
"theme.bar.buttons.modules.cava.border": "#56b6c2"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#21252b",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#e06c75",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#c678dd",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#56b6c2"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#56b6c2",
|
||||
"theme.bar.buttons.modules.cava.background": "#56b6c2",
|
||||
"theme.bar.buttons.modules.cava.text": "#21252b",
|
||||
"theme.bar.buttons.modules.cava.icon": "#21252b",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#21252b",
|
||||
"theme.bar.buttons.modules.cava.border": "#56b6c2"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#eb6f92",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#eb6f92",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#c4a7e7",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#9ccfd8"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#9ccfd8",
|
||||
"theme.bar.buttons.modules.cava.text": "#9ccfd8",
|
||||
"theme.bar.buttons.modules.cava.background": "#21202e",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#21202e",
|
||||
"theme.bar.buttons.modules.cava.icon": "#9ccfd8",
|
||||
"theme.bar.buttons.modules.cava.border": "#9ccfd8"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#eb6f92",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#eb6f92",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#c4a7e7",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#9ccfd8"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#9ccfd8",
|
||||
"theme.bar.buttons.modules.cava.text": "#9ccfd8",
|
||||
"theme.bar.buttons.modules.cava.background": "#2a283e",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#2a283e",
|
||||
"theme.bar.buttons.modules.cava.icon": "#9ccfd8",
|
||||
"theme.bar.buttons.modules.cava.border": "#9ccfd8"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#eb6f92",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#eb6f92",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#c4a7e7",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#9ccfd8"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#9ccfd8",
|
||||
"theme.bar.buttons.modules.cava.text": "#9ccfd8",
|
||||
"theme.bar.buttons.modules.cava.background": "#2a283e",
|
||||
"theme.bar.buttons.modules.cava.icon": "#181825",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#9ccfd8",
|
||||
"theme.bar.buttons.modules.cava.border": "#9ccfd8"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#2a283e",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#eb6f92",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#c4a7e7",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#9ccfd8"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#9ccfd8",
|
||||
"theme.bar.buttons.modules.cava.background": "#9ccfd8",
|
||||
"theme.bar.buttons.modules.cava.text": "#2a283e",
|
||||
"theme.bar.buttons.modules.cava.icon": "#2a283e",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#2a283e",
|
||||
"theme.bar.buttons.modules.cava.border": "#9ccfd8"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#eb6f92",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#eb6f92",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#c4a7e7",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#9ccfd8"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#9ccfd8",
|
||||
"theme.bar.buttons.modules.cava.text": "#9ccfd8",
|
||||
"theme.bar.buttons.modules.cava.background": "#21202e",
|
||||
"theme.bar.buttons.modules.cava.icon": "#181825",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#9ccfd8",
|
||||
"theme.bar.buttons.modules.cava.border": "#9ccfd8"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#21202e",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#eb6f92",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#c4a7e7",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#9ccfd8"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#9ccfd8",
|
||||
"theme.bar.buttons.modules.cava.background": "#9ccfd8",
|
||||
"theme.bar.buttons.modules.cava.text": "#21202e",
|
||||
"theme.bar.buttons.modules.cava.icon": "#21202e",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#21202e",
|
||||
"theme.bar.buttons.modules.cava.border": "#9ccfd8"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#f7768e",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#f7768e",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#bb9af7",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#7dcfff"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#7dcfff",
|
||||
"theme.bar.buttons.modules.cava.text": "#73daca",
|
||||
"theme.bar.buttons.modules.cava.background": "#272a3d",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#272a3d",
|
||||
"theme.bar.buttons.modules.cava.icon": "#73daca",
|
||||
"theme.bar.buttons.modules.cava.border": "#73daca"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#f7768e",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#f7768e",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#bb9af7",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#7dcfff"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#7dcfff",
|
||||
"theme.bar.buttons.modules.cava.text": "#73daca",
|
||||
"theme.bar.buttons.modules.cava.background": "#272a3d",
|
||||
"theme.bar.buttons.modules.cava.icon": "#181825",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#73daca",
|
||||
"theme.bar.buttons.modules.cava.border": "#73daca"
|
||||
}
|
||||
@@ -356,5 +356,10 @@
|
||||
"theme.bar.buttons.modules.hypridle.text": "#272a3d",
|
||||
"theme.bar.buttons.modules.hypridle.border": "#f7768e",
|
||||
"theme.bar.menus.menu.network.scroller.color": "#bb9af7",
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#7dcfff"
|
||||
"theme.bar.menus.menu.bluetooth.scroller.color": "#7dcfff",
|
||||
"theme.bar.buttons.modules.cava.background": "#73daca",
|
||||
"theme.bar.buttons.modules.cava.text": "#272a3d",
|
||||
"theme.bar.buttons.modules.cava.icon": "#272a3d",
|
||||
"theme.bar.buttons.modules.cava.icon_background": "#272a3d",
|
||||
"theme.bar.buttons.modules.cava.border": "#73daca"
|
||||
}
|
||||
Reference in New Issue
Block a user