system/modules/home-manager/services/wired/wired.ron

181 lines
7.2 KiB
Text

(
// Maximum number of notifications to show at any one time.
// A value of 0 means that there is no limit.
max_notifications: 3,
// The default timeout, in miliseconds, for notifications that don't have an initial timeout set.
// 1000ms = 1s.
timeout: 10000,
// `poll_interval` decides decides how often (in milliseconds) Wired checks for new notifications, events,
// draws notifications (if necessary), etc.
// Note that when no notifications are present, Wired always polls at 500ms.
// 16ms ~= 60hz / 7ms ~= 144hz.
poll_interval: 200,
// Wired will pause notifications if you are idle (no mouse or keyboard input) for longer than
// `idle_threshold` seconds.
// Note that notifications will not be automatically unpaused on wake, and will need to be manually
// cleared, unless `unpause_on_input` is set to true.
// Also note that no distinction is made between manually paused and idle paused notifications.
// If `idle_threshold` is not specified, the behavior will be disabled entirely.
//idle_threshold: 3600,
// Notifications will spawn paused, and have to be manually unpaused or cleared by the user,
// unless `unpause_on_input` is also set.
//notifications_spawn_paused: false,
// Unpause notifications when we receive any input after being idle for longer than 1 second.
// Note that no distinction is made between manually paused notifications and idle paused/spawned notifications.
//unpause_on_input: false,
// Enable/disable replacement functionality.
// If this is disabled, replacement requests will just send a new notification.
// E.g., with replacing_enabled: true, Pidgin will only show the latest message from each contact,
// instead of sending a new one for each message.
// Default: true
//replacing_enabled: true,
// Whether a notification should reset its timeout when it is replaced.
// No effect if replacing_enabled is set to false.
// Default: false
//replacing_resets_timeout: false,
// Some apps/programs close notifications on their own by sending a request to dbus.
// Sometimes this is not desired.
// Default: true
//closing_enabled: true,
// How many notifications are kept in history.
// Each notification is roughly 256 bytes (excluding buffers!), so there's some math to do here.
// Default: 10
//history_length: 10,
// When a `NotificationBlock` has monitorr: -1 (i.e. should follow active monitor), then what input
// should we use to determine the active monitor?
// Options: Mouse, Window
// Default: Mouse
//focus_follows: Mouse,
// Enable printing notification data to a file.
// Useful for scripting purposes.
// The data is written as JSON.
// Default: None
//print_to_file: "/tmp/wired.log",
// Minimum window width and height. This is used to create the base rect that the notification
// grows within.
// The notification window will never be smaller than this.
// A value of 1 means that the window will generally always resize with notification, unless
// you have a 1x1 pixel notification...
// Generally, you shouldn't need to set this.
//min_window_width: 1,
//min_window_height: 1,
// Enable/disable debug rendering.
debug: false,
debug_color: Color(r: 0.0, g: 1.0, b: 0.0, a: 1.0), // Primary color for debug rectangles.
debug_color_alt: Color(r: 1.0, g: 0.0, b: 0.0, a: 1.0), // Secondary color for debug rectangles.
layout_blocks: [
// Layout 1, when an image is present.
(
name: "root",
parent: "",
hook: Hook(parent_anchor: TR, self_anchor: TR),
offset: Vec2(x: -7.0, y: 27.0),
//render_criteria: [HintImage],
// https://github.com/Toqozz/wired-notify/wiki/NotificationBlock
params: NotificationBlock((
monitor: 0,
border_width: 2.5,
border_rounding: 0.0,
background_color: Color(hex: "@background@"),
border_color: Color(hex: "@normalBorder@"),
border_color_low: Color(hex: "@lowBorder@"),
border_color_critical: Color(hex: "@criticalBorder@"),
border_color_paused: Color(hex: "@pausedBorder@"),
gap: Vec2(x: 0.0, y: 8.0),
notification_hook: Hook(parent_anchor: BL, self_anchor: TL),
)),
),
(
name: "image",
parent: "root",
hook: Hook(parent_anchor: TL, self_anchor: TL),
offset: Vec2(x: 0.0, y: 0.0),
// https://github.com/Toqozz/wired-notify/wiki/ImageBlock
params: ImageBlock((
image_type: Hint,
// We actually want 4px padding, but the border is 3px.
padding: Padding(left: 7.0, right: 0.0, top: 7.0, bottom: 7.0),
rounding: 3.0,
scale_width: 48,
scale_height: 48,
filter_mode: Lanczos3,
)),
),
(
name: "app",
parent: "image",
hook: Hook(parent_anchor: MR, self_anchor: BL),
offset: Vec2(x: 0.0, y: 0.0),
// https://github.com/Toqozz/wired-notify/wiki/TextBlock
params: TextBlock((
text: "%n",
font: "monospace 8",
ellipsize: Middle,
color: Color(hex: "@appName@"),
padding: Padding(left: 16.0, right: 0.0, top: 6.0, bottom: 0.0),
dimensions: (width: (min: 0, max: 150), height: (min: 0, max: 0)),
)),
),
(
name: "summary",
parent: "app",
hook: Hook(parent_anchor: BL, self_anchor: TL),
offset: Vec2(x: 0.0, y: 0.0),
// https://github.com/Toqozz/wired-notify/wiki/TextBlock
params: TextBlock((
text: "%s",
font: "sans-serif 13",
ellipsize: Middle,
color: Color(hex: "@summary@"),
padding: Padding(left: 16.0, right: 16.0, top: 4.0, bottom: 0.0),
dimensions: (width: (min: 300, max: 300), height: (min: 0, max: 0)),
)),
),
(
name: "body",
parent: "summary",
hook: Hook(parent_anchor: BL, self_anchor: TL),
offset: Vec2(x: 0.0, y: -3.0),
// https://github.com/Toqozz/wired-notify/wiki/ScrollingTextBlock
params: TextBlock((
text: "%b",
font: "sans-serif 11",
color: Color(hex: "@body@"),
padding: Padding(left: 16.0, right: 16.0, top: 7.0, bottom: 12.0),
dimensions: (width: (min: 300, max: 300), height: (min: 0, max: 150)),
)),
),
],
// https://github.com/Toqozz/wired-notify/wiki/Shortcuts
shortcuts: ShortcutsConfig (
// notification_interact: 1,
notification_close: 3,
// notification_closeall: 99,
// notification_pause: 99,
notification_action1: 1,
// notification_action2: 99,
// notification_action3: 99,
// notification_action4: 99,
),
)