aboutsummaryrefslogtreecommitdiff
path: root/src/layout/monitor.rs
AgeCommit message (Collapse)Author
2025-10-15layout/monitor: Make between-workspace insert hint narrowerIvan Molodetskikh
I've got feedback that full-width hint looks like the window will be maximized on the new workspace.
2025-10-02config: Add merging for GesturesIvan Molodetskikh
2025-10-02layout: Move scrolling width resolution to workspaceIvan Molodetskikh
This is required now with per-output and per-workspace options.
2025-10-02layout/monitor: Fix wrong Clone/Copy generic boundsIvan Molodetskikh
2025-10-02Add per-output layout configIvan Molodetskikh
2025-10-02Move background rendering to WorkspaceIvan Molodetskikh
Per-output background-color doesn't work yet.
2025-10-02layout: Extract Monitor::append_workspaces()Ivan Molodetskikh
2025-10-02layout: Move empty workspace handling to Monitor::new()Ivan Molodetskikh
2025-10-02layout: Extract Monitor::into_workspaces()Ivan Molodetskikh
2025-10-02layout: Extract Monitor::insert_workspace()Ivan Molodetskikh
2025-10-02layout: Extract Monitor::remove_workspace_by_idx()Ivan Molodetskikh
2025-10-02layout: Remove unname_workspace() clean-up to MonitorIvan Molodetskikh
2025-10-02layout: Extract Monitor::verify_invariants()Ivan Molodetskikh
2025-10-02layout: Store Layout directly in OptionsIvan Molodetskikh
2025-08-27Fix focus=false for move-column-to-workspace*, add to ↵gibberish
move-window-to-workspace-up/down
2025-05-13layout: Fix workspace swipe to same workspace forgetting previous idIvan Molodetskikh
This manifested much more prominently in the overview.
2025-05-01Implement --focus for MoveColumnToWorkspace/Up/DownAberter Yan
2025-05-01Draw workspace shadows behind all workspacesIvan Molodetskikh
2025-04-26overview: Activate window upon dropping from interactive moveIvan Molodetskikh
2025-04-25Fix panic when interactively moving to invisible workspaceIvan Molodetskikh
Introduced in the interactive move between workspaces commit.
2025-04-25Implement interactive move to a new workspace above/betweenIvan Molodetskikh
2025-04-25overview: Add DnD up/down scrollingIvan Molodetskikh
2025-04-25Implement an OverviewIvan Molodetskikh
2025-04-25Render workspaces separately with gaps betweenIvan Molodetskikh
This design makes more sense spatially, and is required for the Overview. Gaps also make it clear how clipping windows to workspace bounds works. Background and bottom layer-shell surfaces get duplicated for each workspace, while top and overlay stay "on top".
2025-04-25layout/monitor: Extract activate_workspace_with_anim_config()Ivan Molodetskikh
2025-04-25layout/monitor: Cache scale, view_size, working_areaIvan Molodetskikh
2025-04-25layout/monitor: Don't consider workspace switch in ↵Ivan Molodetskikh
active_tile_visual_rectangle() This only did something when in the middle of a touchpad gesture, and it didn't really make sense for that edge case.
2025-04-25layout/monitor: Extract add_workspace_at()Ivan Molodetskikh
2025-04-25layout: Move insert hint from ScrollingSpace to MonitorIvan Molodetskikh
2025-04-25layout: Return floating and scrolling elems separately from WorkspaceIvan Molodetskikh
2025-04-25layout/monitor: Extract workspace_render_idx()Ivan Molodetskikh
2025-04-25layout/monitor: Extract workspaces_render_geo()Ivan Molodetskikh
2025-04-25layout/monitor: Extract WorkspaceSwitchGesture::min_max()Ivan Molodetskikh
2025-04-25layout/monitor: Keep track of workspace switch gesture start idxIvan Molodetskikh
Fixes jump when "catching" an animation with a gesture.
2025-04-25Remove cancellation from swipe gesturesIvan Molodetskikh
It only worked for workspace switch, and even there it was more confusing than helpful.
2025-04-25Add missing bounds checks to move-workspace actionsIvan Molodetskikh
Fixes panics.
2025-04-17layout: Extract Monitor::update_shaders()Ivan Molodetskikh
2025-04-10layout: Take into account idle time between last gesture event and endIvan Molodetskikh
Fixes cases like: do a quick movement with mouse, then hold it in-place for a while (no events generated), then release the gesture (it uses all that built-up speed). This also happens with DnD scroll and makes it go further than intended.
2025-03-29Add focus argument to move-window-to-workspace (#1332)nyx
* layout: add focus flag to move-window-to-workspace * lib: update comment * misc: minor dup refactor * input: format code * layout: minor nit * layout: update comment * input: remove unnecessary conditionals * misc: replace boolean * tests: fix the failing one * layout: change to smart * ipc: Option<bool> -> bool * lib: format code * Rewrite focus doc comment --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-02-27layout/monitor: Remove unused functionIvan Molodetskikh
2025-02-27layout/monitor: Remove redundant passthrough functionsIvan Molodetskikh
2025-02-17Implement expand-column-to-available-widthIvan Molodetskikh
2025-02-10Add set-column-display actionIvan Molodetskikh
2025-02-10Implement tabbed column display modeIvan Molodetskikh
2025-02-10Account for border in contents_under()Ivan Molodetskikh
Fixes pointer clicks going through window borders to a layer surface below, also fixes window not getting activated in all cases from a border click.
2025-02-05Add focus-window-in-column (by index) actionIvan Molodetskikh
2025-02-05Add focus-window-top/bottom/down-or-top/up-or-bottom actionsIvan Molodetskikh
2025-01-29layout: Do not update original output for named workspaces upon adding windowsIvan Molodetskikh
The way named workspaces are generally used makes them more "attached" to their original output. For example, you have a two-monitor setup with named workspaces on both. When you disconnect the monitor to go somewhere and work for a while, then return, you probably want your named workspaces to return to where they were on your second monitor. This is in contrast to unnamed workspaces which are more transient and should more easily follow you wherever you're working.
2025-01-25Add move-workspace-to-index and move-workspace-to-monitor actions (#1007)Kirottu
* Added move-workspace-to-index and move-workspace-to-monitor IPC actions * Added redraws to the workspace handling actions, fixed tests that panicked, fixed other mentioned problems. * Fixed workspace focusing and handling numbered workspaces with `move-workspace-to-index` * Fixed more inconsistencies with move-workspace-to-monitor * Added back `self.workspace_switch = None` * Reordered some workspace cleanup logic * Fix formatting * Add missing blank lines * Fix moving workspace to same monitor and wrong current index updating * Move function up and add fixme comment --------- Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-01-10Fix new Clippy warningsIvan Molodetskikh