Ivan Molodetskikh
a40e7b4470
Handle dmabuf blocker separately in toplevel pre-commit
...
Will be needed for transactions.
2024-08-22 13:13:28 +03:00
Michael Yang
f1894f6f9a
feature: add on-demand vrr ( #586 )
...
* feature: add on-demand vrr
* Don't require connector::Info in try_to_set_vrr
* Improve VRR help message
* Rename connector_handle => connector
* Fix tracy span name
* Move on demand vrr flag set higher
* wiki: Mention on-demand VRR
---------
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2024-08-22 11:58:07 +03:00
Ivan Molodetskikh
883763c172
Implement stub mutter-x11-interop
...
Allows xdp-gnome dialogs to work with X11 clients.
Fixes https://github.com/YaLTeR/niri/issues/594
2024-08-13 09:15:57 +03:00
Ivan Molodetskikh
47680e43c5
screencopy: Wait for SyncPoint before submitting
2024-08-08 13:32:37 +03:00
Ivan Molodetskikh
0f1e44aac6
screencopy: Fix transformed damage calculation
2024-08-08 13:32:37 +03:00
Michael Yang
b6a7b3e9e4
feat: update screencopy to version 3
2024-08-08 13:32:37 +03:00
Ivan Molodetskikh
8ff90c4fc2
Implement PipeWire DMA-BUF modifier negotiation
2024-08-06 18:01:52 +03:00
Anant Sharma
689338f059
Add background color option for output
2024-07-26 11:51:29 +03:00
Ivan Molodetskikh
4513663084
screenshot-ui: Animate opening
2024-07-08 11:24:08 +04:00
Ivan Molodetskikh
236f96e676
screenshot-ui: Add a help panel
2024-07-08 10:54:21 +04:00
Ivan Molodetskikh
6ec9c72539
Clear pointer grab upon opening the screenshot UI
...
Gets rid of DND surfaces.
2024-07-07 09:54:19 +04:00
Ivan Molodetskikh
1a1086206c
Extract capture_screenshots()
2024-07-07 09:48:19 +04:00
Ivan Molodetskikh
f2766b103d
Implement toggling pointer for the screenshot UI
2024-07-07 09:23:59 +04:00
Ivan Molodetskikh
e394a7ff20
Implement on-demand layer-shell keyboard focus
2024-07-06 18:20:19 +04:00
Ivan Molodetskikh
921ed63204
Add LayerSurface to PointerFocus
2024-07-06 18:17:48 +04:00
Ivan Molodetskikh
1da99f4003
Implement focus-follows-mouse max-scroll-amount
2024-07-05 20:53:11 +04:00
Ivan Molodetskikh
de6caec685
Recompute current pointer focus for focus-follows-mouse
...
Fixes https://github.com/YaLTeR/niri/issues/377 .
2024-07-05 10:13:50 +04:00
Salman Farooq
d3aebdbec4
Implement key repeat for compositor binds
2024-07-05 08:40:25 +03:00
Ivan Molodetskikh
9dcc9160b3
Put Outputs config into a dedicated struct
2024-07-05 07:35:01 +03:00
tet
43df7fad46
Implement wlr-output-management protocol
...
fix: wlr_output_management use WeakOutput
2024-07-05 07:35:01 +03:00
Ivan Molodetskikh
d2087a2cd9
Add output ID tracking
2024-07-05 07:35:01 +03:00
Ivan Molodetskikh
4d60eae82e
Fix blocked-out + popups and rounded corners window screencasts
2024-06-28 12:35:12 +04:00
Ivan Molodetskikh
a43f30b7f5
Ignore compositor opacity for window screencasts
...
When using opacity as unfocused indicator, it will show up on the
screencast, which is undesired.
This is not a problem for window screen*shot*s where the window is
focused.
2024-06-28 10:39:36 +04:00
Ivan Molodetskikh
88f7b08e56
Add transparency support to window screencasts
...
Turns out it needed to be in a separate pod.
2024-06-28 10:39:35 +04:00
Ivan Molodetskikh
dc92d80b9f
Implement initial window screencasting
2024-06-28 10:39:35 +04:00
Ivan Molodetskikh
40aff3a094
Implement org/gnome/shell/Introspect/GetWindows
2024-06-28 10:39:35 +04:00
Ivan Molodetskikh
589e5a600c
Keep screencast running through size changes
2024-06-21 11:05:28 +03:00
Ivan Molodetskikh
cb0ebd35ce
Make tablet without specific output map to union of outputs
2024-06-19 23:02:45 +03:00
Ivan Molodetskikh
986f2c14ab
Make scale use FloatOrInt
2024-06-18 14:01:34 +03:00
Ivan Molodetskikh
8425493ef5
Allow scale below 1
2024-06-18 14:01:34 +03:00
Ivan Molodetskikh
33b5beaeee
Round scale to closest representable
2024-06-18 14:01:34 +03:00
Ivan Molodetskikh
1dae45c58d
Refactor layout to fractional-logical
...
Lets borders, gaps, and everything else stay pixel-perfect even with
fractional scale. Allows setting fractional border widths, gaps,
struts.
See the new wiki .md for more details.
2024-06-18 14:01:28 +03:00
Ivan Molodetskikh
997119c443
Enable fractional scaling
2024-06-18 12:23:50 +03:00
Ivan Molodetskikh
3c63be6261
Implement our own TextureBuffer/RenderElement
...
Supports fractional texture scale + has some getters.
2024-06-10 18:08:00 +03:00
Ivan Molodetskikh
e3406ac255
Signal fractional scale to clients
...
Doesn't do anything yet because we don't bind the fractional scale
manager and don't allow fractional scales.
2024-06-10 18:08:00 +03:00
Peter Collingbourne
bc3d6cac80
Implement xdg_activation_v1
...
Fixes #30 .
2024-06-10 18:06:34 +03:00
Ujp8LfXBJ6wCPR
af6d84a7f8
Fix typos ( #429 )
...
* Fix typos reported by "typos" crate
https://github.com/crate-ci/typos
* Ignore typo datas -> data
See https://github.com/crate-ci/typos?tab=readme-ov-file#false-positives
for more configureability.
---------
Co-authored-by: Carl Hjerpe <git@hjerpe.xyz >
Co-authored-by: Ivan Molodetskikh <yalterz@gmail.com >
2024-06-09 10:50:22 +00:00
rustysec
36d3e70f11
Implement niri msg workspaces
2024-05-17 10:33:00 +03:00
Ivan Molodetskikh
ae63773737
Update Smithay and other deps
2024-05-16 18:00:28 +04:00
Ivan Molodetskikh
cbfc682f9a
Implement at-startup window rule
2024-05-16 12:27:09 +04:00
Gergely Nagy
eb9bbe3352
Implement named workspaces
...
This is an implementation of named, pre-declared workspaces. With this
implementation, workspaces can be declared in the configuration file by
name:
```
workspace "name" {
open-on-output "winit"
}
```
The `open-on-output` property is optional, and can be skipped, in which
case the workspace will open on the primary output.
All actions that were able to target a workspace by index can now target
them by either an index, or a name. In case of the command line, where
we do not have types available, this means that workspace names that
also pass as `u8` cannot be switched to by name, only by index.
Unlike dynamic workspaces, named workspaces do not close when they are
empty, they remain static. Like dynamic workspaces, named workspaces are
bound to a particular output. Switching to a named workspace, or moving
a window or column to one will also switch to, or move the thing in
question to the output of the workspace.
When reloading the configuration, newly added named workspaces will be
created, and removed ones will lose their name. If any such orphaned
workspace was empty, they will be removed. If they weren't, they'll
remain as a dynamic workspace, without a name. Re-declaring a workspace
with the same name later will create a new one.
Additionally, this also implements a `open-on-workspace "<name>"` window
rule. Matching windows will open on the given workspace (or the current
one, if the named workspace does not exist).
Signed-off-by: Gergely Nagy <niri@gergo.csillger.hu >
2024-05-16 01:24:34 -07:00
Ivan Molodetskikh
df36eac25b
Fix render elements looking off on screenshots
2024-05-15 20:09:49 +04:00
Ivan Molodetskikh
5335ef454b
Implement custom shader for window-open
2024-05-15 19:38:29 +04:00
Ivan Molodetskikh
9004c83954
Implement custom shader for window-close anim
2024-05-12 09:52:36 +04:00
Ivan Molodetskikh
bc29256b9d
Implement Mod+MMB view offset gesture
2024-05-11 14:02:37 +04:00
Ivan Molodetskikh
beba87354a
Group input-related things in a subfolder
2024-05-11 13:21:05 +04:00
Ivan Molodetskikh
2fd9a03bd7
Stop confining the pointer during resize grab
2024-05-11 09:26:49 +04:00
Ivan Molodetskikh
9dfa121b8e
Implement interactive mouse resizing
2024-05-10 20:23:08 +04:00
Ivan Molodetskikh
ed2b6d3894
Mark screen transition texture transparent
2024-05-08 08:21:15 +04:00
Ivan Molodetskikh
47925948a3
Add trace span to do_screen_transition
2024-05-08 08:21:04 +04:00