Files
amane-config/src/main.rs
T
server2 5d322b940d Glass designs as settings: solid, frosted, liquid on every surface
appearance.surface.design picks the look (chips in the config window); each
design's opacity, rim and light are settings. surface::shell now draws the
island, idle pill, workspace and tray pills, tray menu, control centre and
popup, so a design applies everywhere. On see-through glass faces fade with
.opacity(). Shell text settings can list their allowed words (chips).
2026-10-15 03:05:06 +02:00

51 lines
1.5 KiB
Rust

mod art;
mod config;
mod control;
mod edge;
mod glyph;
mod hypr;
mod island;
mod map;
mod parse;
mod prompt;
mod settings;
mod sound;
mod spectrum;
mod surface;
mod system;
mod png;
mod theme;
mod tray;
mod workspaces;
use amane::{App, Palette, Service};
fn main() {
// config.toml first: the font is chosen once, before anything draws
config::load();
// the card's glow follows the cover art, which art::Art copies to this one path
Palette::write().open(&art::palette_file(), 8);
// one island on every monitor (the card opens only on one of them), a workspace pill top left
// and the control centre top right on each; all three hidden until the pointer rests on the
// top edge (edge.rs), whose strip comes first so the bar lies over it. the config window
// (settings.rs) is a normal window, opened on demand
App::new()
.font(&config::appearance::font::family())
.ipc("island", island::command)
.ipc("control", control::command)
.ipc("tray", tray::command)
.ipc("config", settings::command)
.window_per_monitor(edge::spacer)
.window_per_monitor(edge::view)
.window_per_monitor(island::view)
.window_per_monitor(workspaces::view)
.window_per_monitor(control::view)
.window_per_monitor(control::menu_view)
.window_per_monitor(tray::menu_view)
// last, so the popup lies over the control centre
.window_per_monitor(prompt::view)
.run();
}