aboutsummaryrefslogtreecommitdiff
path: root/src/layout
AgeCommit message (Collapse)Author
2025-06-11Add deactivate-unfocused-windows debug flag (#1706)sashomasho
* force xdg deactivation on invisable workspaces This debug option provides a workaround for many Chromium-based chat applications that fail to show notifications when they're active in a workspace that's not currently visible and don't have keyboard focus Signed-off-by: Alex Yosifov <sashomasho@gmail.com> * fixes --------- Signed-off-by: Alex Yosifov <sashomasho@gmail.com> Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com>
2025-06-09layout/scrolling: Take parent area into account for popup unconstrainingIvan Molodetskikh
2025-06-09layout/scrolling: Store parent_area in ScrollingSpaceIvan Molodetskikh
2025-06-09layout/scrolling: Inline popup_target_rect up to ScrollingSpaceIvan Molodetskikh
2025-05-16Deal with new Clippy warningsIvan Molodetskikh
2025-05-13layout: Fix workspace swipe to same workspace forgetting previous idIvan Molodetskikh
This manifested much more prominently in the overview.
2025-05-12Add center-visible-columns actionIvan Molodetskikh
2025-05-12Implement baba-is-float for layersIvan Molodetskikh
2025-05-10Add urgent color support to tab indicatorsIvan Molodetskikh
2025-05-10add urgent border color and gradientDuncan Overbruck
2025-05-10add workspace urgency ipc eventDuncan Overbruck
2025-05-10add window urgency through xdg-activation-v1Duncan Overbruck
urgency is done through activation requests without a serial from a previous interaction. https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/150
2025-05-01layout/scrolling: Update view offset on config updateIvan Molodetskikh
Fix always-centering not applied right away. No other changes intended.
2025-05-01Implement --focus for MoveColumnToWorkspace/Up/DownAberter Yan
2025-05-01Normalize workspace shadows to 1080 px tall screen, adjust defaultsIvan Molodetskikh
Workspace gaps are dependent on screen size, so it makes sense to make shadows depend on the screen size to, to avoid them filling more or less of the gap.
2025-05-01Draw workspace shadows behind all workspacesIvan Molodetskikh
2025-05-01Add workspace-shadow {} config to overview {}Ivan Molodetskikh
2025-04-30layout: Fix DnD scroll not stopping when interactive moving unfullscreen to ↵Ivan Molodetskikh
floating
2025-04-26overview: Activate window upon dropping from interactive moveIvan Molodetskikh
2025-04-26layout/tab_indicator: Fix negative gapIvan Molodetskikh
Regressed in a recent commit that added max1.
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-25Implement DnD hold to activate window or workspaceIvan 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: Extract interactive_moved_window_under() and add output checkIvan Molodetskikh
Fixes interactively moved window getting input on every output rather than just its own.
2025-04-25Pass target workspace to view offset grabIvan Molodetskikh
2025-04-25layout/scrolling: Support view offset anim during gestureIvan Molodetskikh
Brings back moving the newly active window into focus upon interactive move dragging out.
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/tab_indicator: Use round_max1 where appropriateIvan 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-17layout: Remove width and is_full_width from InsertHintIvan Molodetskikh
They were unused.
2025-04-17layout: Don't pass scale to render unnecessarilyIvan Molodetskikh
These parts of the layout already know their scale.
2025-04-17Rename render_floating_for_output to render_interactive_move_for_outputIvan 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-04-05layout: Avoid calling interactive_move_end() in the middle of ↵Ivan Molodetskikh
interactive_move_update()
2025-04-03layout/scrolling: Use slice::fill()Ivan Molodetskikh
Fix new Clippy warning.
2025-03-31layout: Reset unfullscreen view offset when starting interactive resizeIvan Molodetskikh