Alex
4ffc97efe9
Merge remote-tracking branch 'origin/master' into pr-4685
...
# Conflicts:
# src/modules/sway/workspaces.cpp
2026-07-04 00:38:15 +02:00
Alexis Rouillard
889cff224b
Merge pull request #5156 from Alexays/refactor/generic-tooltip
...
refactor(ALabel): generic label+tooltip helper to remove per-module duplication
2026-07-04 00:37:19 +02:00
Alex
c0a0608c43
Merge remote-tracking branch 'origin/master' into pr-5068
2026-07-04 00:22:43 +02:00
Alex
db4941efe7
refactor(tooltip): migrate modules to ALabel generic tooltip helper
...
Migrate idle_inhibitor, sway/language, sway/scratchpad,
hyprland/language and hyprland/window to the shared label/tooltip
setters. idle_inhibitor uses updateLabelAndTooltipForState; the others
keep their custom label/tooltip resolution (trim, precomputed tooltip,
rewriteString, per-lang/variant formats) and switch to the dedup-aware
setLabelMarkup/setTooltipMarkup.
2026-07-04 00:00:15 +02:00
Alexis Rouillard
45b3b0aadb
Merge pull request #4193 from burbschat/output-classes
...
Add CSS classes for sway workspace indicators depending on associated output
2026-07-03 22:58:25 +02:00
Alexis Rouillard
825ce43088
Merge pull request #5073 from ar-turek/persistent_workspaces_by_monitor_make_and_model
...
[feat] `sway/workspaces`: refer to outputs by their monitor identifier in `persistent-workspaces`
2026-07-03 22:53:48 +02:00
Alexis Rouillard
168794b44b
Merge pull request #4986 from maltherd/master
...
Add "ignore-workspaces" option to sway/workspaces module
2026-07-03 22:50:34 +02:00
Alexis Rouillard
54d28d3949
Merge branch 'master' into persistent_workspaces_by_monitor_make_and_model
2026-07-03 22:22:09 +02:00
Alexis Rouillard
315dc106f5
Merge branch 'master' into master
2026-07-03 22:22:07 +02:00
Alexis Rouillard
bbf6af23e7
Merge branch 'master' into output-classes
2026-07-03 22:22:04 +02:00
Alex
31035890e6
Merge remote-tracking branch 'origin/master' into feat/sway-workspaces-format-for-negative-indices
...
# Conflicts:
# src/modules/sway/workspaces.cpp
2026-07-03 22:11:45 +02:00
Alexis Rouillard
ac08a7e856
Merge branch 'master' into codex-label-update-hotpath
2026-07-03 21:47:47 +02:00
Alexis Rouillard
778ef49efd
Merge branch 'master' into sayrus-gh/sway-workspaces-markup
2026-07-03 21:30:59 +02:00
Alexis Rouillard
c43f9f25b8
Merge pull request #5039 from mil-ad/fix/sway-language-flag-disappears
...
fix(sway/language): keep flag visible across hot-plug and unknown layouts
2026-07-03 21:00:52 +02:00
Alexis Rouillard
c8bcbfb057
Merge pull request #5072 from Lege19/master
...
(Fix) (sway workspace module) persistent workspaces always removed
2026-07-03 20:59:05 +02:00
Alexis Rouillard
fa79b931e9
Merge branch 'master' into sayrus-gh/sway-workspaces-quotes
2026-07-03 20:45:01 +02:00
Alexey Ivanov
2190871a68
perf(label): skip redundant markup updates
2026-06-04 15:18:43 -07:00
Artur Ciesielski
415da7aef4
sway/workspaces: refer to outputs by their monitor identifier (make and model)
2026-05-26 19:39:03 +02:00
jacobs
ec2651370e
(Fix) (sway workspace module) persistent workspaces always removed
2026-05-26 11:09:45 +01:00
Carlo Teubner
3056bad95a
Sway IPC: avoid reinterpret_cast
2026-05-24 08:22:22 +01:00
Carlo Teubner
d8848a478b
Sway IPC: code cleanups
2026-05-24 08:20:10 +01:00
Carlo Teubner
1bc633fc0e
Sway IPC: more robust socket send/receive logic
...
Handle EINTR/EAGAIN, partial sends, etc.
2026-05-24 06:45:30 +01:00
Carlo Teubner
89b5456cd3
Sway IPC: fix socket path discovery
...
Ensure to only read actual "sway --get-socketpath" output, not
subsequent garbage in buffer.
2026-05-24 06:41:51 +01:00
Milad Alizadeh
0ec6d06472
Guard set_current_layout against unknown layout names (wtype, hot-plugged
...
devices) so transient events stop blanking layout_. Refresh layouts_map_
on "added"/"xkb_keymap" input events and union layouts across all
keyboards so new devices contribute their layouts. Release mutex_ before
the refresh sendCmd to avoid self-deadlock from the synchronous
signal_cmd emit.
2026-05-15 17:29:21 +01:00
Arnaud Gaudard
450b6a785f
Add "ignore-workspaces" option to sway/workspaces module
2026-04-12 17:22:19 +02:00
Alexis Rouillard
100d4ec4a4
Merge pull request #4891 from khaneliman/bugfix/stab-003-test-001-hyprland-ipc
...
fix(hyprland-ipc): harden fd lifecycle and listener loop
2026-03-04 22:41:30 +01:00
Austin Horstman
4c71b2bf9f
perf(memory): optimize C++ string operations to reduce heap fragmentation
...
- Replaced pass-by-value std::string parameters with const std::string&
or std::string_view to prevent SSO overallocations.
- Refactored static mapping functions in UPower to return
std::string_view instead of constructing std::string literals, enabling
perfect cache locality.
- Optimized string concatenation in hot loops (network IPs, inhibitor
lists, sway window marks) by using std::string::append() and
pre-reserving capacity instead of overloaded operator+ which produces
temporary heap instances.
These optimizations reduce high-frequency memory churn and overall heap
fragmentation within the main rendering loops.
Signed-off-by: Austin Horstman <khaneliman12@gmail.com >
2026-03-02 22:54:07 -06:00
Austin Horstman
8d22d3e07a
refactor(sway): use shared ScopedFd for IPC sockets
...
Signed-off-by: Austin Horstman <khaneliman12@gmail.com >
2026-03-02 08:23:06 -06:00
Prakhar Chhalotre
3e7976c8eb
fix: use pango markup for consistent formatting in format and tooltip-format
2026-02-13 02:23:16 +05:30
Alex
47fb21a2c1
chore: upgrade to clang-format@21
2026-02-04 09:24:14 +01:00
Dennis Weiershaeuser
9e53174ef5
feat(sway/workspaces): add format for negative indices
2026-01-01 02:42:56 +01:00
Mathis Raguin
c2a038c222
fix(sway/workspaces): escape markup in workspace if enabled
2025-12-31 16:16:38 +01:00
Mathis Raguin
da4367df2f
fix(sway/workspaces): use number when available to avoid parsing issues
2025-12-31 15:40:31 +01:00
Mathis Raguin
0a5da13fbf
fix(workspaces/sway): handle workspaces with quotes
2025-12-31 15:28:10 +01:00
Axel Dahlberg
7777be0da6
feat: allow not switching output when clicking sway/workspace
2025-12-07 19:43:25 +01:00
mliszcz
e362550e27
fix(sway/workspaces): window-rewrite: do not check for window-format
...
Remove check for unused window-format option.
Fixes #3797 .
2025-12-02 17:19:44 +01:00
xb-bx
4d74bb3004
sway/workspaces: implement reverse-scroll
2025-07-07 14:17:18 +03:00
Alexis Rouillard
cbdbc492bb
Merge pull request #4097 from RobertMueller2/sway-window-marks
...
feat: sway/window: provide {marks} format replacement
2025-06-22 08:43:27 +01:00
Alexis Rouillard
6206cebd75
Merge pull request #3887 from torstehu/fix-typo
...
Fix typos in function, variable names and in documentation
2025-06-22 08:39:23 +01:00
peelz
b8a985d606
style: fix formatting
2025-06-21 10:54:16 -04:00
burbschat
d6f9dc911a
Apply format according to .clang-format
2025-06-14 22:59:32 +09:00
burbschat
9b6590b972
Add CSS classes for sway workspace indicators depending on associated output
...
Allows for different styles of workspace indicators (buttons) depending
on the output the workspace is located at.
Using this one can for example color the indicators depending on the
output making it easy to infer on which output a workspace is located.
Example config:
"sway/workspaces": {
"all-outputs": true,
"format": "{name}",
"output-classes": {
"DP-1": "output1",
"LVDS-2": "output2"
}
}
Example CSS:
#workspaces button.output1{
background-color: green;
}
#workspaces button.output2{
background-color: blue;
}
2025-06-14 22:40:58 +09:00
Rene D. Obermueller
f4b68f41e6
feat: sway/window: provide {marks} format replacement
2025-05-04 07:50:28 +02:00
Almarhoon Ibraheem
7e845f506e
sway workspace: fix workspace button not shown in nested layouts
2025-04-12 18:31:34 +03:00
Torstein Husebø
6004316f1a
Fix typos in function, variable names and in documentation
2025-01-16 13:25:19 +01:00
Carlo Teubner
8e276bb3f6
sway: fix "Mapping is not an object" warning
...
Fixes #3763 .
Also a little code simplications while we're at it.
2024-12-17 22:05:16 +00:00
Jan Larres
4e05659109
sway/workspaces: use X11 class for XWayland windows
...
When using `window-rewrite`, the `class<>` rule would previously only
match against the `app_id` of a window. However, XWayland windows don't
have an app ID.
This change falls back to checking the `class` window property if there
is no app ID to support matching against XWayland windows.
2024-12-01 12:48:07 +13:00
Austin Horstman
90ac7d5d2c
sway/workspaces: support ignore window-rewrite
...
Similar to hyprland implementation to ignore "" empty rules
2024-07-16 22:50:26 -05:00
Austin Horstman
9c40137d05
sway/workspaces: clang-tidy
2024-07-16 18:33:43 -05:00
Austin Horstman
17132b250d
sway/workspaces: remove deprecated field
...
Was deprecated a long time ago, we removed the Hyprland version.
Removing this, as well.
2024-07-16 18:33:43 -05:00