This commit is contained in:
Lilith 2024-06-12 23:12:19 +02:00
parent 7a4828af0d
commit eddf7cecb8
Signed by: lilith
GPG key ID: 8712A0F317C37175
6 changed files with 78 additions and 10 deletions

View file

@ -1,4 +1,4 @@
import Bar from modules/bar import {Bar} from './modules/bar.js'
App.config({ App.config({
style: "./style.css", style: "./style.css",

View file

@ -1,7 +1,7 @@
{ {
pkgs, ... pkgs, ags, ...
}: { }: {
imports = [ inputs.ags.homeManagerModules.default ]; imports = [ ags.homeManagerModules.default ];
programs.ags = { programs.ags = {
enable = true; enable = true;
@ -14,6 +14,16 @@
gtksourceview gtksourceview
webkitgtk webkitgtk
accountsservice accountsservice
pavucontrol
networkmanager
gtk3
wf-recorder
wl-clipboard
brightnessctl
fzf
fd
dart-sass
bun
]; ];
}; };
} }

View file

@ -6,7 +6,7 @@ const battery = await Service.import("battery")
const systemtray = await Service.import("systemtray") const systemtray = await Service.import("systemtray")
const date = Variable("", { const date = Variable("", {
poll: [1000, 'date "+%H:%M:%S %b %e."'], poll: [1000, 'date "+%a, %Y-%m-%d %H:%M:%S"'],
}) })
// widgets can be only assigned as a child in one container // widgets can be only assigned as a child in one container
@ -16,9 +16,11 @@ const date = Variable("", {
function Workspaces() { function Workspaces() {
const activeId = hyprland.active.workspace.bind("id") const activeId = hyprland.active.workspace.bind("id")
const workspaces = hyprland.bind("workspaces") const workspaces = hyprland.bind("workspaces")
.as(ws => ws.map(({ id }) => Widget.Button({ .as(ws => ws
.filter(({ id }) => id > 0)
.map(({ id, name }) => Widget.Button({
on_clicked: () => hyprland.messageAsync(`dispatch workspace ${id}`), on_clicked: () => hyprland.messageAsync(`dispatch workspace ${id}`),
child: Widget.Label(`${id}`), child: Widget.Label(`${name}`),
class_name: activeId.as(i => `${i === id ? "focused" : ""}`), class_name: activeId.as(i => `${i === id ? "focused" : ""}`),
}))) })))
@ -189,3 +191,18 @@ function Right() {
], ],
}) })
} }
export function Bar(monitor = 0) {
return Widget.Window({
name: `bar-${monitor}`, // name has to be unique
class_name: "bar",
monitor,
anchor: ["top", "left", "right"],
exclusivity: "exclusive",
child: Widget.CenterBox({
start_widget: Left(),
center_widget: Center(),
end_widget: Right(),
}),
})
}

41
home/ags/style.css Normal file
View file

@ -0,0 +1,41 @@
window.bar {
/* background-color: @theme_bg_color; */
color: @theme_fg_color;
/* height: 5%; */
}
button {
min-width: 0;
padding-top: 0;
padding-bottom: 0;
background-color: transparent;
}
button:active {
background-color: @theme_selected_bg_color;
}
button:hover {
border-bottom: 3px solid @theme_fg_color;
}
/* label { */
/* font-weight: bold; */
/* } */
.workspaces button.focused {
border-bottom: 3px solid @theme_selected_bg_color;
}
.client-title {
color: @theme_selected_bg_color;
}
.notification {
color: yellow;
}
levelbar block,
highlight {
min-height: 10px;
}

View file

@ -2,8 +2,8 @@
user = [ user = [
# Graphical setup # Graphical setup
# ./ags # ToDo: get codin :3 ./ags # ToDo: get codin :3
./waybar.nix # ./waybar
./hyprland ./hyprland
./rofi.nix ./rofi.nix
./dunst.nix ./dunst.nix

View file

@ -70,7 +70,7 @@
tooltip = false; tooltip = false;
}; };
"battery" = { battery = {
states = { states = {
good = 90; good = 90;
warning = 30; warning = 30;
@ -83,7 +83,7 @@
format-icons = ["󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"]; format-icons = ["󰂎" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"];
}; };
"tray": { tray = {
"icon-size" = 18; "icon-size" = 18;
"spacing" = 18; "spacing" = 18;
}; };