modules/hyprland/workspace: ignore empty window-rewrite

I'd like to ignore some windows from having icons or empty space taken
on the bar. By filtering out empty repr we can supply rewrite rules that
will ignore them from being processed and showing an empty space or
default icon.
This commit is contained in:
Austin Horstman 2024-07-03 00:19:54 -05:00
parent ca3877d0b8
commit 702e10649e
No known key found for this signature in database
2 changed files with 6 additions and 1 deletions

View File

@ -26,6 +26,7 @@ Addressed by *hyprland/workspaces*
Regex rules to map window class to an icon or preferred method of representation for a workspace's window. Regex rules to map window class to an icon or preferred method of representation for a workspace's window.
Keys are the rules, while the values are the methods of representation. Values may use the placeholders {class} and {title} to use the window's original class and/or title respectively. Keys are the rules, while the values are the methods of representation. Values may use the placeholders {class} and {title} to use the window's original class and/or title respectively.
Rules may specify `class<...>`, `title<...>`, or both in order to fine-tune the matching. Rules may specify `class<...>`, `title<...>`, or both in order to fine-tune the matching.
You may assign an empty value to a rule to have it ignored from generating any representation in workspaces.
*window-rewrite-default*: *window-rewrite-default*:
typeof: string ++ typeof: string ++

View File

@ -92,7 +92,11 @@ void Workspace::initializeWindowMap(const Json::Value &clients_data) {
void Workspace::insertWindow(WindowCreationPayload create_window_paylod) { void Workspace::insertWindow(WindowCreationPayload create_window_paylod) {
if (!create_window_paylod.isEmpty(m_workspaceManager)) { if (!create_window_paylod.isEmpty(m_workspaceManager)) {
m_windowMap[create_window_paylod.getAddress()] = create_window_paylod.repr(m_workspaceManager); auto repr = create_window_paylod.repr(m_workspaceManager);
if (!repr.empty()) {
m_windowMap[create_window_paylod.getAddress()] = repr;
}
} }
}; };