Ivan Molodetskikh
0763c7e196
Add a clickable button to capture the screenshot
...
Allows tablet-, touch- and mouse-only confirmation.
2025-05-09 15:42:23 +03:00
Ivan Molodetskikh
fb5c5204e8
Extract confirm_screenshot()
2025-05-09 15:41:57 +03:00
Ivan Molodetskikh
d207cd385b
screenshot_ui: Refactor mouse down + touch slot state
2025-05-09 15:10:00 +03:00
Ivan Molodetskikh
99bf2df2b4
Silence new zvariant De/SerializeDict deprecations
...
Questionable exercise converting to serde with much more boilerplate, and
breaking compat with older zvariant versions. Plus maybe this will be
undeprecated back.
2025-05-09 10:35:16 +03:00
Ivan Molodetskikh
09be90f4e6
Add touch selection support to the screenshot UI
2025-05-09 10:28:20 +03:00
Ivan Molodetskikh
dfc42b9d82
Split ScreenshotUi::pointer_down() and up()
2025-05-09 10:28:20 +03:00
Ivan Molodetskikh
e2b9838d89
Extract evt.slot()
2025-05-09 10:28:20 +03:00
Ivan Molodetskikh
816a0d479c
Rename touch_location to pos
2025-05-09 10:28:20 +03:00
Ivan Molodetskikh
84323d10a4
Support tablet input for screenshot UI selection
2025-05-09 10:28:20 +03:00
Ivan Molodetskikh
b956f2775c
Use early return
2025-05-09 10:28:20 +03:00
Ivan Molodetskikh
9ff2f83db0
Simplify ScreenshotUi::pointer_button()
2025-05-09 10:28:20 +03:00
James Sully
7a10f71ee5
refactor(main): eliminate a mut from config load code in main
...
I think this makes for marginally better readability, since you don't
have to wonder whether config_errored is set anywhere else. It's also
slightly terser.
2025-05-09 00:25:54 -07:00
James Sully
ea7add3563
fix: don't try to create a default config at path that exists
...
Currently this bug has no actual consequences, we just continue silently
on AlreadyExists in main()
(this line: https://github.com/YaLTeR/niri/blob/e9c6f08906143c3fec1ad1301d538bef4cbc1978/src/main.rs#L151 ).
This commit just eliminates the redundant attempt.
2025-05-08 21:52:39 -07:00
Ivan Molodetskikh
e9c6f08906
Add a resize transaction client-server test
2025-05-07 22:59:57 +03:00
Ivan Molodetskikh
497f186422
Add layout background-color setting
2025-05-06 17:34:40 +03:00
Ivan Molodetskikh
3e31c134a6
Implement place-within-backdrop layer rule
2025-05-06 17:34:40 +03:00
Ivan Molodetskikh
fe682938db
Simplify exclusive focus on layer check
2025-05-06 17:34:40 +03:00
Ivan Molodetskikh
6c9705dd4b
layout/scrolling: Update view offset on config update
...
Fix always-centering not applied right away. No other changes intended.
2025-05-01 21:37:34 +03:00
Aberter Yan
eb590c5346
Implement --focus for MoveColumnToWorkspace/Up/Down
2025-05-01 11:06:34 -07:00
Ivan Molodetskikh
9d6037b94c
Normalize workspace shadows to 1080 px tall screen, adjust defaults
...
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-01 10:33:53 +03:00
Ivan Molodetskikh
7b4cf094ef
Draw workspace shadows behind all workspaces
2025-05-01 10:10:11 +03:00
Ivan Molodetskikh
446bc155ce
Add workspace-shadow {} config to overview {}
2025-05-01 09:45:38 +03:00
Ivan Molodetskikh
9fb02b9571
layout: Fix DnD scroll not stopping when interactive moving unfullscreen to floating
2025-04-30 20:32:56 +03:00
erdii
82dabc21f3
feat: implement support to enable numlock at startup
...
Signed-off-by: erdii <me@erdii.engineering >
2025-04-30 09:54:19 -07:00
Ivan Molodetskikh
5f117c61dc
animation/spring: Guard against numerical instability
2025-04-29 10:51:53 +03:00
Christian Meissl
cb857e32e4
Bump Smithay and others
...
Presentation subsurface fix, popup unconstrain resize fix, cursor shape fix, refactors.
2025-04-29 08:53:25 +03:00
Ivan Molodetskikh
d5c0c74d2c
Fix hot corners preventing focus even when disabled
2025-04-29 08:24:45 +03:00
Ivan Molodetskikh
fd389af6d8
Add backdrop-color setting to overview {}
2025-04-28 09:14:43 +03:00
Ivan Molodetskikh
db09727b18
Replace Smithay's SolidColor elements with ours
...
Must've forgotten about these back when I replaced others.
2025-04-28 09:05:55 +03:00
bogdanov
758cca5432
Fix pointer hiding so that it is no longer annoying ( #1426 )
...
* replace `pointer_hidden` with `pointer_visiblity`
* disable hidden pointer after content underneath has changed
* fixes
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2025-04-27 06:25:36 +00:00
Ivan Molodetskikh
78e3daf5f8
overview: Activate window upon dropping from interactive move
2025-04-26 13:29:36 +03:00
Ivan Molodetskikh
bfd42c74f4
layout/tab_indicator: Fix negative gap
...
Regressed in a recent commit that added max1.
2025-04-26 09:25:31 +03:00
Ivan Molodetskikh
d2a1cf53b4
Fix panic when interactively moving to invisible workspace
...
Introduced in the interactive move between workspaces commit.
2025-04-25 16:55:36 +03:00
Ivan Molodetskikh
55c14eebf2
hotkey_overlay: Show the ToggleOverview bind
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
1835b532d9
Implement interactive move to a new workspace above/between
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
e6d82d3ee3
Implement top-left hot corner to toggle the Overview
...
Compared to third-party implementations such as waycorner:
- It works during interactive window move (no surfaces receive pointer
focus in this case, so this cannot work through layer-shell).
- It works during drag-and-drop.
- It disables itself over fullscreen windows.
- It does not prevent direct scanout.
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
fae3a27641
Implement DnD hold to activate window or workspace
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
31e76cf451
overview: Add DnD up/down scrolling
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
b8a9be542f
overview: Add touchscreen gestures
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
59de6918b3
overview: Add two-finger touchpad scroll
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
bd3d554389
overview: Add hardcoded mouse scroll binds
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
af1fca35bb
Implement an Overview
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
9571d149b2
Render workspaces separately with gaps between
...
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-25 02:00:18 -07:00
Ivan Molodetskikh
99358e36b3
layout/monitor: Extract activate_workspace_with_anim_config()
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
8b878f355f
Put interactively moved window on top of background and bottom layer popups
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
395b6d9a4f
layout: Extract interactive_moved_window_under() and add output check
...
Fixes interactively moved window getting input on every output rather
than just its own.
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
25f24f668c
Extract mapped_hit_data()
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
929eaf0d69
Pass target workspace to view offset grab
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
ce3103949f
layout/scrolling: Support view offset anim during gesture
...
Brings back moving the newly active window into focus upon interactive
move dragging out.
2025-04-25 02:00:18 -07:00
Ivan Molodetskikh
ef60dd81d7
layout/monitor: Cache scale, view_size, working_area
2025-04-25 02:00:18 -07:00