mirror of
https://github.com/hyprwm/Hyprland.git
synced 2026-08-18 11:02:10 +00:00
* lua: make HLMonitor:set_workspace "silent" (no focus or mouse move) * lua: report correct function name when HLMonitor:set_special_workspace errors * monitor: allow setting special workspace on monitor without focusing that monitor * lua: make HLMonitor:set_special_workspace also "silent" * workspace: support not carrying focus with us in moveWorkspaceToMonitor This leaves focus on the same monitor, rather than carrying it along with the moved workspace as usual. * lua: fix HLMonitor:set_workspace placing the same WS on different monitors I thought this was already handled for me; apparently not. * lua: support creating new workspaces via HLMonitor:set_workspace(), set_special_workspace() * monitor: don't send workspace events on non-focusing workspace change * lua: better handle (non-)?special selectors in HLMonitor:set_workspace(), set_special_workspace() Both now check that they're given a workspace of the appropriate special-ness. * lua: don't require a table arg for HLMonitor:set_workspace(), set_special_workspace() Also, names given to `set_special_workspace()` no longer require a `special:` prefix, matching the toggle_special dispatcher's behavior. * misc: allow getting workspaces relative to a given monitor Not just the currently focused one. * lua: reference targeted monitor for relative WS selectors in set_workspace() Now, e.g. `m+1` selects the next workspace on the *targeted* monitor, rather than on the focused monitor. * tests: HLMonitor:set_workspace() behavior * tests: HLMonitor:set_special_workspace() behavior * tests: don't force unnecessary refreshes in luaGetWorkspace test * lua: return workspace name as selector for special workspaces Previously this would be the ID, which was negative and would then be interpreted later as a *relative* ID. Normal workspaces can still return their (positive) IDs, that's fine. * monitor: properly leave focus behind when stealing a special workspace