-
Notifications
You must be signed in to change notification settings - Fork 27
/
Copy pathwired_multilayout.ron
226 lines (202 loc) · 8.72 KB
/
wired_multilayout.ron
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
(
// 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,
// `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: 16,
// 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. Let me know if you think this should be different.
// If `idle_threshold` is not specified, the behavior will be disabled entirely.
//idle_threshold: 3600,
// 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_image",
parent: "",
hook: Hook(parent_anchor: TL, self_anchor: TL),
offset: Vec2(x: 7.0, y: 7.0),
render_criteria: [HintImage],
// https://github.com/Toqozz/wired-notify/wiki/NotificationBlock
params: NotificationBlock((
monitor: 0,
border_width: 3.0,
border_rounding: 3.0,
//background_color: Color(r: 0.15686, g: 0.15686, b: 0.15686, a: 1.0),
background_color: Color(hex: "#282828"),
border_color: Color(hex: "#ebdbb2"),
border_color_low: Color(hex: "#282828"),
border_color_critical: Color(hex: "#fb4934"),
border_color_paused: Color(hex: "#fabd2f"),
gap: Vec2(x: 0.0, y: 8.0),
notification_hook: Hook(parent_anchor: BL, self_anchor: TL),
)),
),
(
name: "image",
parent: "root_image",
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: "summary_image",
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: "Arial Bold 11",
ellipsize: Middle,
color: Color(hex: "#ebdbb2"),
color_hovered: Color(hex: "#fbf1c7"),
padding: Padding(left: 7.0, right: 7.0, top: 7.0, bottom: 0.0),
dimensions: (width: (min: 50, max: 150), height: (min: 0, max: 0)),
)),
),
(
name: "body_image",
parent: "summary_image",
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: ScrollingTextBlock((
text: "%b",
font: "Arial 11",
color: Color(hex: "#ebdbb2"),
color_hovered: Color(hex: "#fbf1c7"),
padding: Padding(left: 7.0, right: 7.0, top: 3.0, bottom: 7.0),
width: (min: 150, max: 250),
scroll_speed: 0.1,
lhs_dist: 35.0,
rhs_dist: 35.0,
scroll_t: 1.0,
)),
),
// Layout 2, when no image is present. ------------------------------------------
(
name: "root",
parent: "",
hook: Hook(parent_anchor: TL, self_anchor: TL),
offset: Vec2(x: 7.0, y: 7.0),
render_anti_criteria: [HintImage],
// https://github.com/Toqozz/wired-notify/wiki/NotificationBlock
params: NotificationBlock((
monitor: 0,
border_width: 3.0,
border_rounding: 3.0,
//background_color: Color(r: 0.15686, g: 0.15686, b: 0.15686, a: 1.0),
background_color: Color(hex: "#282828"),
border_color: Color(hex: "#ebdbb2"),
border_color_low: Color(hex: "#282828"),
border_color_critical: Color(hex: "#fb4934"),
border_color_paused: Color(hex: "#fabd2f"),
gap: Vec2(x: 0.0, y: 8.0),
notification_hook: Hook(parent_anchor: BL, self_anchor: TL),
)),
),
(
name: "summary",
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/TextBlock
params: TextBlock((
text: "%s",
font: "Arial Bold 11",
ellipsize: Middle,
color: Color(hex: "#ebdbb2"),
color_hovered: Color(hex: "#fbf1c7"),
padding: Padding(left: 7.0, right: 7.0, top: 7.0, bottom: 0.0),
dimensions: (width: (min: 50, max: 150), 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),
// https://github.com/Toqozz/wired-notify/wiki/ScrollingTextBlock
params: ScrollingTextBlock((
text: "%b",
font: "Arial 11",
color: Color(hex: "#ebdbb2"),
color_hovered: Color(hex: "#fbf1c7"),
padding: Padding(left: 7.0, right: 7.0, top: 0.0, bottom: 7.0),
width: (min: 150, max: 250),
scroll_speed: 0.1,
lhs_dist: 35.0,
rhs_dist: 35.0,
scroll_t: 1.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,
),
)