ags improvements

This commit is contained in:
2023-10-29 22:07:25 +01:00
parent 31cea6cbe2
commit fdc60edf74
18 changed files with 261 additions and 238 deletions

8
desktops/hyprland/ags/.idea/.gitignore generated vendored Normal file
View File

@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

16
desktops/hyprland/ags/.idea/ags.iml generated Normal file
View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="TemplatesService">
<option name="TEMPLATE_FOLDERS">
<list>
<option value="$MODULE_DIR$/scripts/templates" />
</list>
</option>
</component>
</module>

8
desktops/hyprland/ags/.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<project version="4">
<component name="ComposerSettings">
<execution />
</component>
<component name="ProjectRootManager">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

8
desktops/hyprland/ags/.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/ags.iml" filepath="$PROJECT_DIR$/.idea/ags.iml" />
</modules>
</component>
</project>

View File

@@ -36,10 +36,12 @@ export default {
}, },
windows: [ windows: [
Bar(), Bar(),
CornerTopleft(), ...Array.from({length: 3}, (_, i) => [
CornerTopright(), CornerTopleft(i),
CornerBottomleft(), CornerTopright(i),
CornerBottomright(), CornerBottomleft(i),
CornerBottomright(i),
]),
Overview(), Overview(),
Indicator(), Indicator(),
Cheatsheet(), Cheatsheet(),

View File

@@ -352,7 +352,7 @@ export const ModuleCalendar = () => Box({
className: 'sidebar-navrail spacing-v-10', className: 'sidebar-navrail spacing-v-10',
children: [ children: [
StackButton('calendar', 'calendar_month', 'Calendar'), StackButton('calendar', 'calendar_month', 'Calendar'),
StackButton('todo', 'lists', 'To Do'), StackButton('todo', 'checklist', 'To Do'),
// StackButton(box, 'stars', 'star', 'GitHub'), // StackButton(box, 'stars', 'star', 'GitHub'),
] ]
}), false, false, 0); }), false, false, 0);

View File

@@ -74,7 +74,7 @@ export const NetworkIndicator = () => Widget.Stack({
['wired', NetworkWiredIndicator()], ['wired', NetworkWiredIndicator()],
], ],
connections: [[Network, stack => { connections: [[Network, stack => {
const primary = Network.primary || 'wifi'; const primary = Network.primary || 'wired';
stack.shown = primary; stack.shown = primary;
}]], }]],
}); });

View File

@@ -1,97 +1,76 @@
import { App, Service, Utils, Widget } from '../imports.js'; import {App, Service, Utils, Widget} from '../imports.js';
import Hyprland from 'resource:///com/github/Aylur/ags/service/hyprland.js'; import Hyprland from 'resource:///com/github/Aylur/ags/service/hyprland.js';
import { deflisten } from '../scripts/scripts.js'; import {deflisten} from '../scripts/scripts.js';
const WORKSPACE_SIDE_PAD = 0.546; // rem const WORKSPACE_SIDE_PAD = 0.546; // rem
const NUM_OF_WORKSPACES = 10; const NUM_OF_WORKSPACES = 9;
let lastWorkspace = 0; let lastWorkspace = 0;
const activeWorkspaceIndicator = Widget.Box({ const activeWorkspaceIndicator = Widget.Box({
// style: 'margin-left: -1px;', valign: 'center',
children: [ halign: 'start',
Widget.Box({ className: 'bar-ws-active-box',
valign: 'center', connections: [
halign: 'start', [Hyprland.active.workspace, (box) => {
className: 'bar-ws-active-box', const ws = Hyprland.active.workspace.id;
connections: [ box.setStyle(`
[Hyprland.active.workspace, (box) => { margin-left: -${1.772 * (NUM_OF_WORKSPACES - ws + 1) + WORKSPACE_SIDE_PAD / 2 - 0.2}rem;
const ws = Hyprland.active.workspace.id;
box.setStyle(`
margin-left: -${1.772 * (10 - ws + 1)}rem;
`); `);
lastWorkspace = ws; lastWorkspace = ws;
}], }],
], ],
children: [ children: [
Widget.Label({ Widget.Label({
valign: 'center', valign: 'center',
className: 'bar-ws-active', className: 'bar-ws-active',
label: ``, label: ``,
}) })
] ]
})
]
}); });
export const ModuleWorkspaces = () => Widget.EventBox({ export const ModuleWorkspaces = () => Widget.EventBox({
onScrollUp: () => Utils.execAsync(['bash', '-c', 'hyprctl dispatch workspace -1 &']), onScrollUp: () => Utils.execAsync(['bash', '-c', 'hyprctl dispatch workspace -1 &']),
onScrollDown: () => Utils.execAsync(['bash', '-c', 'hyprctl dispatch workspace +1 &']), onScrollDown: () => Utils.execAsync(['bash', '-c', 'hyprctl dispatch workspace +1 &']),
onMiddleClickRelease: () => App.toggleWindow('overview'), onPrimaryClickRelease: () => App.toggleWindow('overview'),
onSecondaryClickRelease: () => App.toggleWindow('osk'), onMiddleClickRelease: () => App.toggleWindow('osk'),
child: Widget.Box({ child: Widget.Box({
homogeneous: true, homogeneous: true,
className: 'bar-ws-width', className: 'bar-group-center',
children: [
Widget.Box({
style: `padding: 0rem ${WORKSPACE_SIDE_PAD}rem;`,
children: [ children: [
Widget.Overlay({ Widget.Box({
passThrough: true, halign: 'center',
child: Widget.Box({ children: Array.from({length: NUM_OF_WORKSPACES}, (_, i) => i + 1).map(i => Widget.Button({
homogeneous: true, onSecondaryClick: () => Utils.execAsync(['bash', '-c', `hyprctl dispatch workspace ${i} &`]).catch(print),
className: 'bar-group-center', child: Widget.Label({
children: [Widget.Box({ valign: 'center',
className: 'bar-group-standalone bar-group-pad', label: `${i}`,
})] className: 'bar-ws txt',
}), }),
overlays: [ })),
Widget.Box({ connections: [
style: ` [Hyprland, (box) => { // TODO: connect to the right signal so that it doesn't update too much
padding: 0rem ${WORKSPACE_SIDE_PAD}rem; const kids = box.children;
`, kids.forEach((child, i) => {
children: [ child.child.toggleClassName('bar-ws-occupied', false);
Widget.Box({ child.child.toggleClassName('bar-ws-occupied-left', false);
halign: 'center', child.child.toggleClassName('bar-ws-occupied-right', false);
// homogeneous: true, child.child.toggleClassName('bar-ws-occupied-left-right', false);
children: Array.from({ length: NUM_OF_WORKSPACES }, (_, i) => i + 1).map(i => Widget.Button({ });
onPrimaryClick: () => Utils.execAsync(['bash', '-c', `hyprctl dispatch workspace ${i} &`]).catch(print), const occupied = Array.from({length: NUM_OF_WORKSPACES}, (_, i) => Hyprland.getWorkspace(i + 1)?.windows > 0);
child: Widget.Label({ for (let i = 0; i < occupied.length; i++) {
valign: 'center', if (!occupied[i]) continue;
label: `${i}`, const child = kids[i];
className: 'bar-ws txt', child.child.toggleClassName(`bar-ws-occupied${!occupied[i - 1] ? '-left' : ''}${!occupied[i + 1] ? '-right' : ''}`, true);
}), }
})), }],
connections: [ ],
[Hyprland, (box) => { // TODO: connect to the right signal so that it doesn't update too much }),
// console.log('update'); activeWorkspaceIndicator,
const kids = box.children;
kids.forEach((child, i) => {
child.child.toggleClassName('bar-ws-occupied', false);
child.child.toggleClassName('bar-ws-occupied-left', false);
child.child.toggleClassName('bar-ws-occupied-right', false);
child.child.toggleClassName('bar-ws-occupied-left-right', false);
});
const occupied = Array.from({ length: NUM_OF_WORKSPACES }, (_, i) => Hyprland.getWorkspace(i + 1)?.windows > 0);
for (let i = 0; i < occupied.length; i++) {
if (!occupied[i]) continue;
const child = kids[i];
child.child.toggleClassName(`bar-ws-occupied${!occupied[i - 1] ? '-left' : ''}${!occupied[i + 1] ? '-right' : ''}`, true);
}
}],
],
}),
activeWorkspaceIndicator,
]
})
]
})
] ]
}) })
]
})
}); });

View File

@@ -45,7 +45,6 @@ $notchOnPrimary: $onPrimary;
.bar-group-center { .bar-group-center {
border-bottom-left-radius: 1.364rem; border-bottom-left-radius: 1.364rem;
border-bottom-right-radius: 1.364rem; border-bottom-right-radius: 1.364rem;
padding: 0.2rem;
// background-color: $t_surface; // background-color: $t_surface;
background-color: $black; // Hard code: fake notch background-color: $black; // Hard code: fake notch
} }
@@ -122,10 +121,6 @@ $notchOnPrimary: $onPrimary;
border-bottom-right-radius: 1.364rem; border-bottom-right-radius: 1.364rem;
} }
.bar-ws-width {
min-width: 18.614rem;
}
.bar-separator { .bar-separator {
@include full-rounding; @include full-rounding;
min-width: 0.341rem; min-width: 0.341rem;
@@ -158,20 +153,20 @@ $notchOnPrimary: $onPrimary;
} }
.bar-ws-active-box { .bar-ws-active-box {
min-height: 1.636rem;
min-width: 1.772rem;
transition: 300ms cubic-bezier(0.05, 0.7, 0.1, 1); transition: 300ms cubic-bezier(0.05, 0.7, 0.1, 1);
} }
.bar-ws-active { .bar-ws-active {
min-height: 1.5rem; min-width: #{1.772 - (0.2 * 2)}rem;
min-width: 1.5rem; margin-top: 0.2rem;
font-size: 1.091rem; font-size: #{1.091 - 0.2}rem;
@include mainfont; @include mainfont;
background-color: $notchPrimary; background-color: $notchPrimary;
color: $notchOnPrimary; color: $notchOnPrimary;
border-radius: 999px; border-radius: 999px;
margin: 0.068rem;
// background-color: red;
} }
.bar-ws-active-middledecor { .bar-ws-active-middledecor {

View File

@@ -46,6 +46,7 @@ $rounding_large: 1.705rem;
@mixin titlefont { @mixin titlefont {
// Geometric sans-serif // Geometric sans-serif
font-family: font-family:
'Noto Sans',
'Gabarito', 'Gabarito',
'Lexend', 'Lexend',
sans-serif; sans-serif;

View File

@@ -1,4 +1,4 @@
$darkmode: false; $darkmode: true;
$primary: #006874; $primary: #006874;
$onPrimary: #ffffff; $onPrimary: #ffffff;
$primaryContainer: #8ef1ff; $primaryContainer: #8ef1ff;

View File

@@ -10,11 +10,11 @@
min-width: 3rem; } min-width: 3rem; }
.txt-title { .txt-title {
font-family: 'Gabarito', 'Lexend', sans-serif; font-family: 'Noto Sans', 'Gabarito', 'Lexend', sans-serif;
font-size: 2.045rem; } font-size: 2.045rem; }
.txt-title-small { .txt-title-small {
font-family: 'Gabarito', 'Lexend', sans-serif; font-family: 'Noto Sans', 'Gabarito', 'Lexend', sans-serif;
font-size: 1.364rem; } font-size: 1.364rem; }
.techfont { .techfont {
@@ -100,7 +100,7 @@
font-weight: bold; } font-weight: bold; }
.titlefont { .titlefont {
font-family: 'Gabarito', 'Lexend', sans-serif; } font-family: 'Noto Sans', 'Gabarito', 'Lexend', sans-serif; }
.mainfont { .mainfont {
font-family: 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', sans-serif; } font-family: 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', sans-serif; }
@@ -410,7 +410,7 @@ tooltip {
border: 1px solid #3f484a; } border: 1px solid #3f484a; }
.bar-bg { .bar-bg {
background-color: rgba(251, 253, 253, 0.7); background-color: rgba(251, 253, 253, 0.85);
min-height: 2.727rem; } min-height: 2.727rem; }
.bar-sidespace { .bar-sidespace {
@@ -420,12 +420,11 @@ tooltip {
padding: 0.2rem; } padding: 0.2rem; }
.bar-group { .bar-group {
background-color: rgba(251, 253, 253, 0.3); } background-color: rgba(251, 253, 253, 0.4); }
.bar-group-center { .bar-group-center {
border-bottom-left-radius: 1.364rem; border-bottom-left-radius: 1.364rem;
border-bottom-right-radius: 1.364rem; border-bottom-right-radius: 1.364rem;
padding: 0.2rem;
background-color: black; } background-color: black; }
.corner-bar-group { .corner-bar-group {
@@ -484,24 +483,21 @@ tooltip {
border-top-right-radius: 1.364rem; border-top-right-radius: 1.364rem;
border-bottom-right-radius: 1.364rem; } border-bottom-right-radius: 1.364rem; }
.bar-ws-width {
min-width: 18.614rem; }
.bar-separator { .bar-separator {
border-radius: 9999px; border-radius: 9999px;
-gtk-outline-radius: 9999px; -gtk-outline-radius: 9999px;
min-width: 0.341rem; min-width: 0.341rem;
min-height: 0.341rem; min-height: 0.341rem;
background-color: rgba(228, 231, 231, 0.3); background-color: rgba(228, 231, 231, 0.4);
margin: 0rem 0.341rem; } margin: 0rem 0.341rem; }
.bar-clock { .bar-clock {
font-family: 'Gabarito', 'Lexend', sans-serif; font-family: 'Noto Sans', 'Gabarito', 'Lexend', sans-serif;
font-size: 1.2727rem; font-size: 1.2727rem;
color: #191c1d; } color: #191c1d; }
.bar-date { .bar-date {
font-family: 'Gabarito', 'Lexend', sans-serif; font-family: 'Noto Sans', 'Gabarito', 'Lexend', sans-serif;
font-size: 1rem; font-size: 1rem;
color: #191c1d; } color: #191c1d; }
@@ -516,17 +512,18 @@ tooltip {
color: white; } color: white; }
.bar-ws-active-box { .bar-ws-active-box {
min-height: 1.636rem;
min-width: 1.772rem;
transition: 300ms cubic-bezier(0.05, 0.7, 0.1, 1); } transition: 300ms cubic-bezier(0.05, 0.7, 0.1, 1); }
.bar-ws-active { .bar-ws-active {
min-height: 1.5rem; min-width: 1.372rem;
min-width: 1.5rem; margin-top: 0.2rem;
font-size: 1.091rem; font-size: 0.891rem;
font-family: 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', sans-serif; font-family: 'AR One Sans', 'Inter', 'Roboto', 'Noto Sans', sans-serif;
background-color: #8ef1ff; background-color: #006874;
color: #001f24; color: #ffffff;
border-radius: 999px; border-radius: 999px; }
margin: 0.068rem; }
.bar-ws-active-middledecor { .bar-ws-active-middledecor {
min-width: 0.682rem; min-width: 0.682rem;
@@ -536,41 +533,41 @@ tooltip {
margin: 0rem 0.409rem; } margin: 0rem 0.409rem; }
.bar-ws-occupied { .bar-ws-occupied {
background-color: #051f23; background-color: #cde7ec;
color: #cde7ec; color: #051f23;
min-width: 1.772rem; min-width: 1.772rem;
border-top: 0.068rem solid #cde7ec; border-top: 0.068rem solid #051f23;
border-bottom: 0.068rem solid #cde7ec; } border-bottom: 0.068rem solid #051f23; }
.bar-ws-occupied-left { .bar-ws-occupied-left {
background-color: #051f23; background-color: #cde7ec;
color: #cde7ec; color: #051f23;
min-width: 1.704rem; min-width: 1.704rem;
border-top-left-radius: 999px; border-top-left-radius: 999px;
border-bottom-left-radius: 999px; border-bottom-left-radius: 999px;
border-left: 0.068rem solid #cde7ec; border-left: 0.068rem solid #051f23;
border-top: 0.068rem solid #cde7ec; border-top: 0.068rem solid #051f23;
border-bottom: 0.068rem solid #cde7ec; border-bottom: 0.068rem solid #051f23;
border-right: 0px solid transparent; } border-right: 0px solid transparent; }
.bar-ws-occupied-right { .bar-ws-occupied-right {
background-color: #051f23; background-color: #cde7ec;
color: #cde7ec; color: #051f23;
min-width: 1.704rem; min-width: 1.704rem;
border-top-right-radius: 999px; border-top-right-radius: 999px;
border-bottom-right-radius: 999px; border-bottom-right-radius: 999px;
border-right: 0.068rem solid #cde7ec; border-right: 0.068rem solid #051f23;
border-top: 0.068rem solid #cde7ec; border-top: 0.068rem solid #051f23;
border-bottom: 0.068rem solid #cde7ec; border-bottom: 0.068rem solid #051f23;
border-left: 0px solid transparent; } border-left: 0px solid transparent; }
.bar-ws-occupied-left-right { .bar-ws-occupied-left-right {
border-radius: 9999px; border-radius: 9999px;
-gtk-outline-radius: 9999px; -gtk-outline-radius: 9999px;
background-color: #051f23; background-color: #cde7ec;
color: #cde7ec; color: #051f23;
min-width: 1.636rem; min-width: 1.636rem;
border: 0.068rem solid #cde7ec; } border: 0.068rem solid #051f23; }
.bar-ws-empty { .bar-ws-empty {
color: #191c1d; color: #191c1d;
@@ -580,8 +577,8 @@ tooltip {
border-radius: 9999px; border-radius: 9999px;
-gtk-outline-radius: 9999px; -gtk-outline-radius: 9999px;
padding: 0rem 0.341rem; padding: 0rem 0.341rem;
background-color: rgba(205, 231, 236, 0.7); background-color: rgba(205, 231, 236, 0.85);
color: rgba(5, 31, 35, 0.7); } color: rgba(5, 31, 35, 0.85); }
.bar-sidemodule { .bar-sidemodule {
min-width: 26rem; } min-width: 26rem; }
@@ -591,16 +588,16 @@ tooltip {
color: #ffdad4; } color: #ffdad4; }
.bar-batt-full { .bar-batt-full {
background-color: #d1e8d5; background-color: #374b3e;
color: #0c1f13; } color: #d1e9d6; }
.bar-batt-prog-low { .bar-batt-prog-low {
background-color: #ba1b1b; background-color: #ba1b1b;
color: #ffdad4; } color: #ffdad4; }
.bar-batt-prog-full { .bar-batt-prog-full {
background-color: #d1e8d5; background-color: #374b3e;
color: #0c1f13; } color: #d1e9d6; }
.bar-music-playstate { .bar-music-playstate {
min-height: 1.770rem; min-height: 1.770rem;
@@ -696,13 +693,13 @@ tooltip {
min-width: 0.680rem; min-width: 0.680rem;
margin: 0rem 0.137rem; margin: 0rem 0.137rem;
border-radius: 10rem; border-radius: 10rem;
background-color: rgba(5, 31, 35, 0.7); } background-color: rgba(5, 31, 35, 0.85); }
.bar-prog-batt-low progress { .bar-prog-batt-low progress {
background-color: #ffdad4; } background-color: #ffdad4; }
.bar-prog-batt-full progress { .bar-prog-batt-full progress {
background-color: #0c1f13; } background-color: #d1e9d6; }
.bar-batt-chargestate { .bar-batt-chargestate {
border-radius: 10rem; border-radius: 10rem;
@@ -712,13 +709,13 @@ tooltip {
border-radius: 10rem; border-radius: 10rem;
min-width: 0.681rem; min-width: 0.681rem;
min-height: 0.681rem; min-height: 0.681rem;
background-color: rgba(5, 31, 35, 0.7); } background-color: rgba(5, 31, 35, 0.85); }
.bar-batt-chargestate-low { .bar-batt-chargestate-low {
background-color: #ffdad4; } background-color: #ffdad4; }
.bar-batt-chargestate-full { .bar-batt-chargestate-full {
background-color: #0c1f13; } background-color: #d1e9d6; }
.bar-batt-percentage { .bar-batt-percentage {
font-size: 1rem; font-size: 1rem;
@@ -726,7 +723,7 @@ tooltip {
font-weight: 500; } font-weight: 500; }
.corner { .corner {
background-color: rgba(251, 253, 253, 0.7); background-color: rgba(251, 253, 253, 0.85);
border-radius: 1.705rem; border-radius: 1.705rem;
-gtk-outline-radius: 1.705rem; } -gtk-outline-radius: 1.705rem; }
@@ -774,14 +771,14 @@ tooltip {
.cheatsheet-bg { .cheatsheet-bg {
border-radius: 1.705rem; border-radius: 1.705rem;
-gtk-outline-radius: 1.705rem; -gtk-outline-radius: 1.705rem;
border-top: 1px solid rgba(138, 141, 141, 0.28); border-top: 1px solid rgba(164, 166, 166, 0.37);
border-left: 1px solid rgba(138, 141, 141, 0.28); border-left: 1px solid rgba(164, 166, 166, 0.37);
border-right: 1px solid rgba(178, 181, 181, 0.24); border-right: 1px solid rgba(199, 201, 202, 0.335);
border-bottom: 1px solid rgba(178, 181, 181, 0.24); border-bottom: 1px solid rgba(199, 201, 202, 0.335);
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45); box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45);
margin: 7px; margin: 7px;
margin-bottom: 0.682rem; margin-bottom: 0.682rem;
background-color: rgba(251, 253, 253, 0.7); background-color: rgba(251, 253, 253, 0.85);
padding: 1.364rem; } padding: 1.364rem; }
.cheatsheet-key { .cheatsheet-key {
@@ -817,20 +814,20 @@ tooltip {
background-color: #acb5b7; } background-color: #acb5b7; }
.cheatsheet-category-title { .cheatsheet-category-title {
font-family: 'Gabarito', 'Lexend', sans-serif; font-family: 'Noto Sans', 'Gabarito', 'Lexend', sans-serif;
font-size: 1.705rem; } font-size: 1.705rem; }
.sidebar-right { .sidebar-right {
transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1);
border-radius: 1.705rem; border-radius: 1.705rem;
-gtk-outline-radius: 1.705rem; -gtk-outline-radius: 1.705rem;
border-top: 1px solid rgba(138, 141, 141, 0.28); border-top: 1px solid rgba(164, 166, 166, 0.37);
border-left: 1px solid rgba(138, 141, 141, 0.28); border-left: 1px solid rgba(164, 166, 166, 0.37);
border-right: 1px solid rgba(178, 181, 181, 0.24); border-right: 1px solid rgba(199, 201, 202, 0.335);
border-bottom: 1px solid rgba(178, 181, 181, 0.24); border-bottom: 1px solid rgba(199, 201, 202, 0.335);
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45); box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45);
margin: 7px; margin: 7px;
background-color: rgba(251, 253, 253, 0.7); background-color: rgba(251, 253, 253, 0.85);
padding: 1.023rem; } padding: 1.023rem; }
.sideright-show { .sideright-show {
@@ -844,13 +841,13 @@ tooltip {
transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1);
border-radius: 1.705rem; border-radius: 1.705rem;
-gtk-outline-radius: 1.705rem; -gtk-outline-radius: 1.705rem;
border-top: 1px solid rgba(138, 141, 141, 0.28); border-top: 1px solid rgba(164, 166, 166, 0.37);
border-left: 1px solid rgba(138, 141, 141, 0.28); border-left: 1px solid rgba(164, 166, 166, 0.37);
border-right: 1px solid rgba(178, 181, 181, 0.24); border-right: 1px solid rgba(199, 201, 202, 0.335);
border-bottom: 1px solid rgba(178, 181, 181, 0.24); border-bottom: 1px solid rgba(199, 201, 202, 0.335);
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45); box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45);
margin: 7px; margin: 7px;
background-color: rgba(251, 253, 253, 0.7); background-color: rgba(251, 253, 253, 0.85);
padding: 1.023rem; } padding: 1.023rem; }
.sideleft-show { .sideleft-show {
@@ -864,12 +861,12 @@ tooltip {
border-radius: 1.159rem; border-radius: 1.159rem;
-gtk-outline-radius: 1.159rem; -gtk-outline-radius: 1.159rem;
padding: 0.341rem; padding: 0.341rem;
background-color: rgba(251, 253, 253, 0.3); } background-color: rgba(251, 253, 253, 0.4); }
.sidebar-group-nopad { .sidebar-group-nopad {
border-radius: 1.159rem; border-radius: 1.159rem;
-gtk-outline-radius: 1.159rem; -gtk-outline-radius: 1.159rem;
background-color: rgba(251, 253, 253, 0.3); } background-color: rgba(251, 253, 253, 0.4); }
.sidebar-group-invisible { .sidebar-group-invisible {
padding: 0.341rem; } padding: 0.341rem; }
@@ -886,33 +883,33 @@ tooltip {
min-height: 2.727rem; } min-height: 2.727rem; }
.sidebar-iconbutton:hover { .sidebar-iconbutton:hover {
background-color: rgba(165, 191, 196, 0.7); } background-color: rgba(165, 191, 196, 0.85); }
.sidebar-iconbutton:active { .sidebar-iconbutton:active {
background-color: rgba(125, 151, 156, 0.7); } background-color: rgba(125, 151, 156, 0.85); }
.sidebar-button { .sidebar-button {
transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1);
padding: 0rem 0.818rem; padding: 0rem 0.818rem;
background-color: rgba(205, 231, 236, 0.7); background-color: rgba(205, 231, 236, 0.85);
color: #051f23; } color: #051f23; }
.sidebar-button-nopad { .sidebar-button-nopad {
transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1);
background-color: rgba(205, 231, 236, 0.7); background-color: rgba(205, 231, 236, 0.85);
color: #051f23; } color: #051f23; }
.sidebar-button:hover { .sidebar-button:hover {
background-color: rgba(165, 191, 196, 0.7); } background-color: rgba(165, 191, 196, 0.85); }
.sidebar-button:active { .sidebar-button:active {
background-color: rgba(125, 151, 156, 0.7); } background-color: rgba(125, 151, 156, 0.85); }
.sidebar-button-nopad:hover { .sidebar-button-nopad:hover {
background-color: rgba(165, 191, 196, 0.7); } background-color: rgba(165, 191, 196, 0.85); }
.sidebar-button-nopad:active { .sidebar-button-nopad:active {
background-color: rgba(125, 151, 156, 0.7); } background-color: rgba(125, 151, 156, 0.85); }
.sidebar-button-left { .sidebar-button-left {
border-top-left-radius: 0.818rem; border-top-left-radius: 0.818rem;
@@ -954,7 +951,7 @@ tooltip {
transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); } transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); }
.sidebar-navrail-btn:hover > box > label:first-child { .sidebar-navrail-btn:hover > box > label:first-child {
background-color: rgba(159, 168, 170, 0.37); } background-color: rgba(171, 180, 182, 0.46); }
.sidebar-navrail-btn:active > box > label:first-child { .sidebar-navrail-btn:active > box > label:first-child {
background-color: #b4bdbf; } background-color: #b4bdbf; }
@@ -1013,10 +1010,10 @@ tooltip {
-gtk-outline-radius: 9999px; -gtk-outline-radius: 9999px;
min-width: 0.273rem; min-width: 0.273rem;
min-height: 2.045rem; min-height: 2.045rem;
background-color: rgba(63, 72, 74, 0.3); } background-color: rgba(63, 72, 74, 0.4); }
.sidebar-scrollbar slider:hover { .sidebar-scrollbar slider:hover {
background-color: rgba(63, 72, 74, 0.44); } background-color: rgba(63, 72, 74, 0.52); }
.sidebar-scrollbar slider:active { .sidebar-scrollbar slider:active {
background-color: #8d9698; } background-color: #8d9698; }
@@ -1059,11 +1056,11 @@ tooltip {
border-radius: 9999px; border-radius: 9999px;
-gtk-outline-radius: 9999px; -gtk-outline-radius: 9999px;
padding: 0rem 0.682rem; padding: 0rem 0.682rem;
background-color: rgba(219, 228, 230, 0.3); background-color: rgba(219, 228, 230, 0.4);
color: #3f484a; } color: #3f484a; }
.sidebar-calendar-monthyear-btn:hover { .sidebar-calendar-monthyear-btn:hover {
background-color: rgba(183, 192, 194, 0.335); background-color: rgba(192, 201, 203, 0.43);
color: #475052; } color: #475052; }
.sidebar-calendar-monthyear-btn:active { .sidebar-calendar-monthyear-btn:active {
@@ -1075,11 +1072,11 @@ tooltip {
-gtk-outline-radius: 9999px; -gtk-outline-radius: 9999px;
min-width: 2.045rem; min-width: 2.045rem;
min-height: 2.045rem; min-height: 2.045rem;
background-color: rgba(219, 228, 230, 0.3); background-color: rgba(219, 228, 230, 0.4);
color: #3f484a; } color: #3f484a; }
.sidebar-calendar-monthshift-btn:hover { .sidebar-calendar-monthshift-btn:hover {
background-color: rgba(183, 192, 194, 0.335); background-color: rgba(192, 201, 203, 0.43);
color: #475052; } color: #475052; }
.sidebar-calendar-monthshift-btn:active { .sidebar-calendar-monthshift-btn:active {
@@ -1094,7 +1091,7 @@ tooltip {
color: #191c1d; } color: #191c1d; }
.sidebar-todo-selector-tab:hover { .sidebar-todo-selector-tab:hover {
background-color: rgba(159, 168, 170, 0.37); } background-color: rgba(171, 180, 182, 0.46); }
.sidebar-todo-selector-tab:active { .sidebar-todo-selector-tab:active {
background-color: #b4bdbf; } background-color: #b4bdbf; }
@@ -1118,30 +1115,30 @@ tooltip {
min-height: 1.705rem; } min-height: 1.705rem; }
.sidebar-todo-item-action:hover { .sidebar-todo-item-action:hover {
background-color: rgba(240, 242, 242, 0.3); } background-color: rgba(240, 242, 242, 0.4); }
.sidebar-todo-item-action:active { .sidebar-todo-item-action:active {
background-color: rgba(217, 219, 219, 0.3); } background-color: rgba(217, 219, 219, 0.4); }
.sidebar-clipboard-item { .sidebar-clipboard-item {
border-radius: 0.818rem; border-radius: 0.818rem;
min-height: 2.045rem; min-height: 2.045rem;
padding: 0.341rem; padding: 0.341rem;
background-color: rgba(205, 231, 236, 0.7); background-color: rgba(205, 231, 236, 0.85);
color: #051f23; } color: #051f23; }
.sidebar-clipboard-item:hover { .sidebar-clipboard-item:hover {
background-color: rgba(185, 211, 216, 0.7); } background-color: rgba(185, 211, 216, 0.85); }
.sidebar-clipboard-item:active { .sidebar-clipboard-item:active {
background-color: rgba(165, 191, 196, 0.7); } background-color: rgba(165, 191, 196, 0.85); }
.osd-bg { .osd-bg {
min-width: 8.864rem; min-width: 8.864rem;
min-height: 3.409rem; } min-height: 3.409rem; }
.osd-value { .osd-value {
background-color: rgba(251, 253, 253, 0.7); background-color: rgba(251, 253, 253, 0.85);
border-radius: 1.023rem; border-radius: 1.023rem;
padding: 0.625rem 1.023rem; padding: 0.625rem 1.023rem;
padding-top: 0.313rem; padding-top: 0.313rem;
@@ -1178,7 +1175,7 @@ tooltip {
margin-top: 0.341rem; } margin-top: 0.341rem; }
.osd-value-txt { .osd-value-txt {
font-family: 'Gabarito', 'Lexend', sans-serif; font-family: 'Noto Sans', 'Gabarito', 'Lexend', sans-serif;
font-size: 1.688rem; font-size: 1.688rem;
font-weight: 500; font-weight: 500;
color: #191c1d; } color: #191c1d; }
@@ -1190,17 +1187,17 @@ tooltip {
transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1);
border-radius: 1.705rem; border-radius: 1.705rem;
-gtk-outline-radius: 1.705rem; -gtk-outline-radius: 1.705rem;
border-top: 1px solid rgba(138, 141, 141, 0.28); border-top: 1px solid rgba(164, 166, 166, 0.37);
border-left: 1px solid rgba(138, 141, 141, 0.28); border-left: 1px solid rgba(164, 166, 166, 0.37);
border-right: 1px solid rgba(178, 181, 181, 0.24); border-right: 1px solid rgba(199, 201, 202, 0.335);
border-bottom: 1px solid rgba(178, 181, 181, 0.24); border-bottom: 1px solid rgba(199, 201, 202, 0.335);
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45); box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45);
margin: 7px; margin: 7px;
min-width: 13.636rem; min-width: 13.636rem;
min-height: 3.409rem; min-height: 3.409rem;
padding: 0rem 1.364rem; padding: 0rem 1.364rem;
padding-right: 2.864rem; padding-right: 2.864rem;
background-color: rgba(251, 253, 253, 0.7); background-color: rgba(251, 253, 253, 0.85);
color: #191c1d; color: #191c1d;
caret-color: transparent; } caret-color: transparent; }
.overview-search-box selection { .overview-search-box selection {
@@ -1228,15 +1225,15 @@ tooltip {
.overview-search-results { .overview-search-results {
border-radius: 1.705rem; border-radius: 1.705rem;
-gtk-outline-radius: 1.705rem; -gtk-outline-radius: 1.705rem;
border-top: 1px solid rgba(138, 141, 141, 0.28); border-top: 1px solid rgba(164, 166, 166, 0.37);
border-left: 1px solid rgba(138, 141, 141, 0.28); border-left: 1px solid rgba(164, 166, 166, 0.37);
border-right: 1px solid rgba(178, 181, 181, 0.24); border-right: 1px solid rgba(199, 201, 202, 0.335);
border-bottom: 1px solid rgba(178, 181, 181, 0.24); border-bottom: 1px solid rgba(199, 201, 202, 0.335);
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45); box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45);
margin: 7px; margin: 7px;
min-width: 28.773rem; min-width: 28.773rem;
padding: 0.682rem; padding: 0.682rem;
background-color: rgba(251, 253, 253, 0.7); background-color: rgba(251, 253, 253, 0.85);
color: #191c1d; } color: #191c1d; }
.overview-search-results-icon { .overview-search-results-icon {
@@ -1269,41 +1266,41 @@ tooltip {
.overview-tasks { .overview-tasks {
border-radius: 1.705rem; border-radius: 1.705rem;
-gtk-outline-radius: 1.705rem; -gtk-outline-radius: 1.705rem;
border-top: 1px solid rgba(138, 141, 141, 0.28); border-top: 1px solid rgba(164, 166, 166, 0.37);
border-left: 1px solid rgba(138, 141, 141, 0.28); border-left: 1px solid rgba(164, 166, 166, 0.37);
border-right: 1px solid rgba(178, 181, 181, 0.24); border-right: 1px solid rgba(199, 201, 202, 0.335);
border-bottom: 1px solid rgba(178, 181, 181, 0.24); border-bottom: 1px solid rgba(199, 201, 202, 0.335);
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45); box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45);
margin: 7px; margin: 7px;
padding: 0.341rem; padding: 0.341rem;
background-color: rgba(251, 253, 253, 0.7); background-color: rgba(251, 253, 253, 0.85);
color: #191c1d; } color: #191c1d; }
.overview-tasks-workspace { .overview-tasks-workspace {
border-radius: 1.159rem; border-radius: 1.159rem;
-gtk-outline-radius: 1.159rem; -gtk-outline-radius: 1.159rem;
margin: 0.341rem; margin: 0.341rem;
background-color: rgba(232, 234, 234, 0.207); } background-color: rgba(232, 234, 234, 0.307); }
.overview-tasks-window { .overview-tasks-window {
border-radius: 1.159rem; border-radius: 1.159rem;
-gtk-outline-radius: 1.159rem; -gtk-outline-radius: 1.159rem;
transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1); transition: 200ms cubic-bezier(0.05, 0.7, 0.1, 1);
background-color: rgba(205, 231, 236, 0.4); background-color: rgba(205, 231, 236, 0.5);
color: #051f23; color: #051f23;
border: 0.068rem solid rgba(5, 31, 35, 0.07); } border: 0.068rem solid rgba(5, 31, 35, 0.07); }
.overview-tasks-window:hover { .overview-tasks-window:hover {
background-color: rgba(169, 209, 215, 0.43); } background-color: rgba(177, 214, 220, 0.525); }
.overview-tasks-window:focus { .overview-tasks-window:focus {
background-color: rgba(169, 209, 215, 0.43); } background-color: rgba(177, 214, 220, 0.525); }
.overview-tasks-window:active { .overview-tasks-window:active {
background-color: rgba(142, 192, 199, 0.46); } background-color: rgba(154, 199, 206, 0.55); }
.overview-tasks-window-selected { .overview-tasks-window-selected {
background-color: rgba(142, 192, 199, 0.46); } background-color: rgba(154, 199, 206, 0.55); }
.overview-tasks-window-dragging { .overview-tasks-window-dragging {
opacity: 0.2; } opacity: 0.2; }
@@ -1312,13 +1309,13 @@ tooltip {
transition: 170ms cubic-bezier(0.05, 0.7, 0.1, 1); transition: 170ms cubic-bezier(0.05, 0.7, 0.1, 1);
border-radius: 1.705rem; border-radius: 1.705rem;
-gtk-outline-radius: 1.705rem; -gtk-outline-radius: 1.705rem;
border-top: 1px solid rgba(138, 141, 141, 0.28); border-top: 1px solid rgba(164, 166, 166, 0.37);
border-left: 1px solid rgba(138, 141, 141, 0.28); border-left: 1px solid rgba(164, 166, 166, 0.37);
border-right: 1px solid rgba(178, 181, 181, 0.24); border-right: 1px solid rgba(199, 201, 202, 0.335);
border-bottom: 1px solid rgba(178, 181, 181, 0.24); border-bottom: 1px solid rgba(199, 201, 202, 0.335);
box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45); box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.45);
margin: 7px; margin: 7px;
background-color: rgba(251, 253, 253, 0.7); background-color: rgba(251, 253, 253, 0.85);
padding: 1.023rem; } padding: 1.023rem; }
.osk-show { .osk-show {
@@ -1331,21 +1328,21 @@ tooltip {
.osk-key { .osk-key {
border-radius: 0.682rem; border-radius: 0.682rem;
background-color: rgba(219, 228, 230, 0.3); background-color: rgba(219, 228, 230, 0.4);
color: #3f484a; color: #3f484a;
padding: 0.188rem; padding: 0.188rem;
font-weight: 500; font-weight: 500;
font-size: 1.091rem; } font-size: 1.091rem; }
.osk-key:hover { .osk-key:hover {
background-color: rgba(203, 212, 214, 0.3); } background-color: rgba(203, 212, 214, 0.4); }
.osk-key:active { .osk-key:active {
background-color: rgba(172, 181, 183, 0.3); background-color: rgba(172, 181, 183, 0.4);
font-size: 1.091rem; } font-size: 1.091rem; }
.osk-key-active { .osk-key-active {
background-color: rgba(172, 181, 183, 0.3); } background-color: rgba(172, 181, 183, 0.4); }
.osk-key-normal { .osk-key-normal {
min-width: 2.5rem; min-width: 2.5rem;
@@ -1373,22 +1370,22 @@ tooltip {
.osk-control-button { .osk-control-button {
border-radius: 0.682rem; border-radius: 0.682rem;
background-color: rgba(219, 228, 230, 0.3); background-color: rgba(219, 228, 230, 0.4);
color: #3f484a; color: #3f484a;
font-weight: 500; font-weight: 500;
font-size: 1.091rem; font-size: 1.091rem;
padding: 0.682rem; } padding: 0.682rem; }
.osk-control-button:hover { .osk-control-button:hover {
background-color: rgba(203, 212, 214, 0.3); } background-color: rgba(203, 212, 214, 0.4); }
.osk-control-button:active { .osk-control-button:active {
background-color: rgba(172, 181, 183, 0.3); background-color: rgba(172, 181, 183, 0.4);
font-size: 1.091rem; } font-size: 1.091rem; }
.session-bg { .session-bg {
margin-top: -2.727rem; margin-top: -2.727rem;
background-color: rgba(251, 253, 253, 0.44); } background-color: rgba(251, 253, 253, 0.51); }
.session-button { .session-button {
border-radius: 1.705rem; border-radius: 1.705rem;
@@ -1423,7 +1420,7 @@ tooltip {
.notif-low { .notif-low {
border-radius: 0.818rem; border-radius: 0.818rem;
-gtk-outline-radius: 0.818rem; -gtk-outline-radius: 0.818rem;
background-color: rgba(219, 228, 230, 0.65); background-color: rgba(219, 228, 230, 0.7);
color: #3f484a; color: #3f484a;
padding: 0.818rem; padding: 0.818rem;
padding-right: 1.363rem; } padding-right: 1.363rem; }
@@ -1431,7 +1428,7 @@ tooltip {
.notif-normal { .notif-normal {
border-radius: 0.818rem; border-radius: 0.818rem;
-gtk-outline-radius: 0.818rem; -gtk-outline-radius: 0.818rem;
background-color: rgba(219, 228, 230, 0.65); background-color: rgba(219, 228, 230, 0.7);
color: #3f484a; color: #3f484a;
padding: 0.818rem; padding: 0.818rem;
padding-right: 1.363rem; } padding-right: 1.363rem; }
@@ -1448,7 +1445,7 @@ tooltip {
border-radius: 0.818rem; border-radius: 0.818rem;
-gtk-outline-radius: 0.818rem; -gtk-outline-radius: 0.818rem;
min-width: 30.682rem; min-width: 30.682rem;
background-color: rgba(251, 253, 253, 0.7); background-color: rgba(251, 253, 253, 0.85);
color: #3f484a; color: #3f484a;
padding: 0.818rem; padding: 0.818rem;
padding-right: 1.363rem; } padding-right: 1.363rem; }
@@ -1457,7 +1454,7 @@ tooltip {
border-radius: 0.818rem; border-radius: 0.818rem;
-gtk-outline-radius: 0.818rem; -gtk-outline-radius: 0.818rem;
min-width: 30.682rem; min-width: 30.682rem;
background-color: rgba(251, 253, 253, 0.7); background-color: rgba(251, 253, 253, 0.85);
color: #3f484a; color: #3f484a;
padding: 0.818rem; padding: 0.818rem;
padding-right: 1.363rem; } padding-right: 1.363rem; }
@@ -1487,19 +1484,19 @@ tooltip {
min-height: 3.409rem; } min-height: 3.409rem; }
.notif-icon-material { .notif-icon-material {
background-color: rgba(205, 231, 236, 0.7); background-color: rgba(205, 231, 236, 0.85);
color: #051f23; } color: #051f23; }
.notif-icon-material-low { .notif-icon-material-low {
background-color: rgba(205, 231, 236, 0.7); background-color: rgba(205, 231, 236, 0.85);
color: #051f23; } color: #051f23; }
.notif-icon-material-normal { .notif-icon-material-normal {
background-color: rgba(205, 231, 236, 0.7); background-color: rgba(205, 231, 236, 0.85);
color: #051f23; } color: #051f23; }
.notif-icon-material-critical { .notif-icon-material-critical {
background-color: rgba(255, 218, 212, 0.7); background-color: rgba(255, 218, 212, 0.85);
color: #410001; } color: #410001; }
.notif-close-btn { .notif-close-btn {
@@ -1527,7 +1524,7 @@ tooltip {
.osd-notif { .osd-notif {
border-radius: 0.818rem; border-radius: 0.818rem;
-gtk-outline-radius: 0.818rem; -gtk-outline-radius: 0.818rem;
background-color: rgba(251, 253, 253, 0.6); background-color: rgba(251, 253, 253, 0.55);
min-width: 30.682rem; } min-width: 30.682rem; }
.growingRadial { .growingRadial {

View File

@@ -30,6 +30,7 @@ const right = Widget.Box({
export default () => Widget.Window({ export default () => Widget.Window({
name: 'bar', name: 'bar',
anchor: ['top', 'left', 'right'], anchor: ['top', 'left', 'right'],
monitor: 1,
exclusive: true, exclusive: true,
visible: true, visible: true,
child: Widget.CenterBox({ child: Widget.CenterBox({

View File

@@ -1,33 +1,37 @@
import { Widget } from '../imports.js'; import { Widget } from '../imports.js';
import { RoundedCorner } from "../modules/lib/roundedcorner.js"; import { RoundedCorner } from "../modules/lib/roundedcorner.js";
export const CornerTopleft = () => Widget.Window({ export const CornerTopleft = monitor => Widget.Window({
name: 'cornertl', name: 'cornertl',
layer: 'top', layer: 'top',
monitor,
anchor: ['top', 'left'], anchor: ['top', 'left'],
exclusive: false, exclusive: false,
visible: true, visible: true,
child: RoundedCorner('topleft', { className: 'corner', }), child: RoundedCorner('topleft', { className: monitor === 1 ? 'corner' : 'corner-black', }),
}); });
export const CornerTopright = () => Widget.Window({ export const CornerTopright = monitor => Widget.Window({
name: 'cornertr', name: 'cornertr',
layer: 'top', layer: 'top',
monitor,
anchor: ['top', 'right'], anchor: ['top', 'right'],
exclusive: false, exclusive: false,
visible: true, visible: true,
child: RoundedCorner('topright', { className: 'corner', }), child: RoundedCorner('topright', { className: monitor === 1 ? 'corner' : 'corner-black', }),
}); });
export const CornerBottomleft = () => Widget.Window({ export const CornerBottomleft = monitor => Widget.Window({
name: 'cornerbl', name: 'cornerbl',
layer: 'top', layer: 'top',
monitor,
anchor: ['bottom', 'left'], anchor: ['bottom', 'left'],
exclusive: false, exclusive: false,
visible: true, visible: true,
child: RoundedCorner('bottomleft', { className: 'corner-black', }), child: RoundedCorner('bottomleft', { className: 'corner-black', }),
}); });
export const CornerBottomright = () => Widget.Window({ export const CornerBottomright = monitor => Widget.Window({
name: 'cornerbr', name: 'cornerbr',
layer: 'top', layer: 'top',
monitor,
anchor: ['bottom', 'right'], anchor: ['bottom', 'right'],
exclusive: false, exclusive: false,
visible: true, visible: true,

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -65,7 +65,11 @@
programs.wofi = import ./wofi.nix; programs.wofi = import ./wofi.nix;
programs.swaylock = import ./swaylock.nix; programs.swaylock = import ./swaylock.nix;
fonts.fontconfig.enable = true;
home.packages = with pkgs; [ home.packages = with pkgs; [
# fonts
noto-fonts
# essentials
xwaylandvideobridge xwaylandvideobridge
hyprpicker hyprpicker
wl-clipboard wl-clipboard