( // Maximum number of notifications to show at any one time. // A value of 0 means that there is no limit. max_notifications: 0, // The default timeout, in miliseconds, for notifications that don't have an initial timeout set. // 1000ms = 1s. timeout: 10000, // How should we handle `expire_timeout` values of zero? // `UseDefault`: use `timeout`. // `NeverExpire`: show this notification forever. // The latter is technically correct according to the notification spec: https://specifications.freedesktop.org/notification-spec/notification-spec-latest.html zero_timeout_behavior: NeverExpire, // `poll_interval` decides decides how often (in milliseconds) Wired checks events, // draws notifications (if necessary) -- the update loop while any notification is present. // Note that when no notifications are present, Wired polls at `idle_poll_interval` instead. // 16ms ~= 60hz / 7ms ~= 144hz. poll_interval: 16, // The interval at which wired updates when no notifications/windows are present. //idle_poll_interval: 500, // 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: 100 //history_length: 100, // 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: 325, //min_window_height: 1, // Trim whitespace in received notification text, since some clients like to send whitespace, which we usually don't actually want. //trim_whitespace: true, // 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: -15, y: 15), //render_criteria: [HintImage], // https://github.com/Toqozz/wired-notify/wiki/NotificationBlock params: NotificationBlock(( monitor: 0, border_width: 2.0, border_rounding: 0.0, background_color: Color(hex: "#11111b"), border_color: Color(hex: "#cba6f7"), border_color_low: Color(hex: "#89b4fa"), border_color_critical: Color(hex: "#f38ba8"), border_color_paused: Color(hex: "#f9e2af"), gap: Vec2(x: 0.0, y: 10), notification_hook: Hook(parent_anchor: BR, self_anchor: TR), )), ), ( name: "image", parent: "root", hook: Hook(parent_anchor: ML, self_anchor: ML), offset: Vec2(x: 0.0, y: 0.0), // https://github.com/Toqozz/wired-notify/wiki/ImageBlock params: ImageBlock(( image_type: HintThenApp, padding: Padding(left: 13.0, right: 6.0, top: 0.0, bottom: 10.0), rounding: 3.0, scale_width: 48, scale_height: 48, filter_mode: Lanczos3, )), ), ( name: "summary", 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: "%s", font: "JetBrains Mono 11", color: Color(hex: "#ffffff"), padding: Padding(left: 12.0, right: 11.0, top: 12.0, bottom: 12.0), dimensions: (width: (min: 50, max: 250), height: (min: 0, max: 0)), )), ), ( name: "body", parent: "summary", hook: Hook(parent_anchor: BL, self_anchor: TL), offset: Vec2(x: 0.0, y: 0.0), render_criteria: [Body], // https://github.com/Toqozz/wired-notify/wiki/ScrollingTextBlock params: ScrollingTextBlock(( text: "%b", font: "JetBrains Mono 10", color: Color(hex: "#a6adc8"), padding: Padding(left: 11.0, right: 11.0, top: 0.0, bottom: 11.0), width: (min: 150, max: 300), scroll_speed: 0.1, lhs_dist: 35.0, rhs_dist: 35.0, scroll_t: 1.0, )), ), ( name: "progress", parent: "summary", hook: Hook(parent_anchor: BL, self_anchor: TL), offset: Vec2(x: 0.0, y: -3.0), render_criteria: [Progress], // https://github.com/Toqozz/wired-notify/wiki/ProgressBlock params: ProgressBlock(( padding: Padding(left: 12.0, right: 11.0, top: 6.0, bottom: 11.0), border_width: 2.0, border_rounding: 5.0, fill_rounding: 5.0, border_color: Color(hex: "#313244"), background_color: Color(hex: "#1e1e2e"), fill_color: Color(hex: "#cba6f7"), width: 230, height: 15, )), ), ( name: "button_0", parent: "summary", hook: Hook(parent_anchor: BL, self_anchor: TL), offset: Vec2(x: 12.0, y: 0.0), render_criteria: [ActionOther(0)], // https://github.com/Toqozz/wired-notify/wiki/ButtonBlock params: ButtonBlock(( padding: Padding(left: 8.0, right: 11.0, top: 6.0, bottom: 5.0), action: OtherAction(0), text: "%a", font: "JetBrains Mono 9", border_width: 2.0, border_rounding: 0.0, text_color: Color(hex: "#a6adc8"), border_color: Color(hex: "#313244"), background_color: Color(hex: "#1e1e2e"), dimensions: (width: (min: 0, max: 150), height: (min: 0, max: 0)), )), ), ( name: "button_1", parent: "button_0", hook: Hook(parent_anchor: TR, self_anchor: TL), offset: Vec2(x: 12.0, y: 0.0), render_criteria: [ActionOther(1)], // https://github.com/Toqozz/wired-notify/wiki/ButtonBlock params: ButtonBlock(( padding: Padding(left: 8.0, right: 11.0, top: 6.0, bottom: 5.0), action: OtherAction(1), text: "%a", font: "JetBrains Mono 9", border_width: 2.0, border_rounding: 0.0, text_color: Color(hex: "#a6adc8"), border_color: Color(hex: "#313244"), background_color: Color(hex: "#1e1e2e"), dimensions: (width: (min: 0, max: 150), height: (min: 0, max: 0)), )), ), ( name: "button_2", parent: "button_1", hook: Hook(parent_anchor: TR, self_anchor: TL), offset: Vec2(x: 12.0, y: 0.0), render_criteria: [ActionOther(2)], // https://github.com/Toqozz/wired-notify/wiki/ButtonBlock params: ButtonBlock(( padding: Padding(left: 8.0, right: 11.0, top: 6.0, bottom: 5.0), action: OtherAction(2), text: "%a", font: "JetBrains Mono 9", border_width: 2.0, border_rounding: 0.0, text_color: Color(hex: "#a6adc8"), border_color: Color(hex: "#313244"), background_color: Color(hex: "#1e1e2e"), dimensions: (width: (min: 0, max: 150), height: (min: 0, max: 0)), )), ), ( name: "button_3", parent: "button_2", hook: Hook(parent_anchor: TR, self_anchor: TL), offset: Vec2(x: 12.0, y: 0.0), render_criteria: [ActionOther(3)], // https://github.com/Toqozz/wired-notify/wiki/ButtonBlock params: ButtonBlock(( padding: Padding(left: 8.0, right: 11.0, top: 6.0, bottom: 5.0), action: OtherAction(3), text: "%a", font: "JetBrains Mono 9", border_width: 2.0, border_rounding: 0.0, text_color: Color(hex: "#a6adc8"), border_color: Color(hex: "#313244"), background_color: Color(hex: "#1e1e2e"), dimensions: (width: (min: 0, max: 150), height: (min: 0, max: 0)), )), ), ( name: "padding", parent: "button_0", hook: Hook(parent_anchor: BR, self_anchor: TL), offset: Vec2(x: 0.0, y: 0.0), render_criteria: [ActionOther(0)], // https://github.com/Toqozz/wired-notify/wiki/ScrollingTextBlock params: TextBlock(( text: "", font: "JetBrains Mono 1", color: Color(hex: "#ffffff"), padding: Padding(left: 12.0, right: 0.0, top: 12.0, bottom: 0.0), dimensions: (width: (min: 0, max: 0), height: (min: 0, max: 0)), )), ), ], // https://github.com/Toqozz/wired-notify/wiki/Shortcuts shortcuts: ShortcutsConfig ( notification_interact: 1, notification_close: 2, // notification_closeall: 99, // notification_pause: 99, notification_action1: 3, // notification_action2: 99, // notification_action3: 99, // notification_action4: 99, ), )