Commit graph

1755 commits

Author SHA1 Message Date
Ashley Wulber
b3aa10436a feat: corner-radius protocol support 2025-10-03 20:11:16 +02:00
Gavin John
b232a4b24a Translated using Weblate (French)
Currently translated at 85.7% (24 of 28 strings)

Translation: Pop OS/COSMIC Comp
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-comp/fr/
2025-10-03 13:48:38 +02:00
oddib
138b2a0992 Translated using Weblate (Norwegian Bokmål)
Currently translated at 3.5% (1 of 28 strings)

Translation: Pop OS/COSMIC Comp
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-comp/nb_NO/
2025-10-03 13:48:38 +02:00
Aindriú Mac Giolla Eoin
bd2d61efe6 Translated using Weblate (Irish)
Currently translated at 100.0% (28 of 28 strings)

Translation: Pop OS/COSMIC Comp
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-comp/ga/
2025-10-03 13:48:38 +02:00
Hosted Weblate
44f4bdea09 i18n: translation updates from weblate
Co-authored-by: Dmytro <linkinwires@gmail.com>
Co-authored-by: Finnthecap <hoangnam2006hp@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Hugo Carvalho <hugokarvalho@hotmail.com>
Co-authored-by: Languages add-on <noreply-addon-languages@weblate.org>
Co-authored-by: Mattias Eriksson <snaggen@gmail.com>
Co-authored-by: Priit Jõerüüt <jrthwlate@users.noreply.hosted.weblate.org>
Co-authored-by: VandaL <vandalhj@gmail.com>
Co-authored-by: Walter William Beckerleg Bruckman <spayk.99@protonmail.com>
Co-authored-by: lorduskordus <lorduskordus@gmail.com>
Co-authored-by: twlvnn kraftwerk <kraft_werk@tutanota.com>
Co-authored-by: yakup <mt6360227@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-comp/bg/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-comp/cs/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-comp/es/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-comp/es_419/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-comp/et/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-comp/pl/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-comp/pt/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-comp/sv/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-comp/tr/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-comp/uk/
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-comp/vi/
Translation: Pop OS/COSMIC Comp
2025-10-03 13:48:38 +02:00
Ian Douglas Scott
346f055fdc focus: Check if X11 surface matches in KeyboardFocus::replace()
Tested on `SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS=1 supertux2`, using
XWayland. If the game starts with fullscreen configured, it minimizes
immediately on start. But after this change, this no longer happens.

This hopefully will improve behaviors with various X11/wine fullscreen
clients. It may fix
https://github.com/pop-os/cosmic-comp/issues/1510, though looking at the
video the behavior there may be a bit different.
2025-10-02 16:27:29 +02:00
Ian Douglas Scott
9e66bed9d6 focus: Split off an x11_surface() method from is_xwm() 2025-10-02 16:27:29 +02:00
Ian Douglas Scott
3c70263e0f screencopy: Without draw_cursor, omit dnd icon from toplevel capture
It seems https://github.com/pop-os/cosmic-comp/pull/1638 caused an issue
in cosmic-workspaces, where if there are multiple toplevels, when
dragging a toplevel, the drag surface would appear in capture for other
toplevels.

For now, omit drag surface in toplevel capture without `draw_cursor`.
Though I guess ultimately we do want it for metadata cursor capture in
the portal, but not in cosmic-workspaces? Maybe the protocol needs some
additional option for this...
2025-10-02 16:24:15 +02:00
twlvnn kraftwerk
d2f73a6d6c Added translation using Weblate (Bulgarian) 2025-10-01 11:42:14 +02:00
Priit Jõerüüt
98bf68411b Translated using Weblate (Estonian)
Currently translated at 39.2% (11 of 28 strings)

Translation: Pop OS/COSMIC Comp
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-comp/et/
2025-10-01 11:42:14 +02:00
Priit Jõerüüt
47eab97b6b Added translation using Weblate (Estonian) 2025-10-01 11:42:14 +02:00
Finnthecap
60541184e4 Translated using Weblate (Vietnamese)
Currently translated at 96.4% (27 of 28 strings)

Translation: Pop OS/COSMIC Comp
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-comp/vi/
2025-10-01 11:42:14 +02:00
yakup
6154586385 Translated using Weblate (Turkish)
Currently translated at 100.0% (28 of 28 strings)

Translation: Pop OS/COSMIC Comp
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-comp/tr/
2025-10-01 11:42:14 +02:00
Mattias Eriksson
2f2805c909 Translated using Weblate (Swedish)
Currently translated at 100.0% (28 of 28 strings)

Translation: Pop OS/COSMIC Comp
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-comp/sv/
2025-10-01 11:42:14 +02:00
VandaL
778fe5b81f Translated using Weblate (Polish)
Currently translated at 100.0% (28 of 28 strings)

Translation: Pop OS/COSMIC Comp
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-comp/pl/
2025-10-01 11:42:14 +02:00
lorduskordus
2b18b78ddb Translated using Weblate (Czech)
Currently translated at 100.0% (28 of 28 strings)

Translation: Pop OS/COSMIC Comp
Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-comp/cs/
2025-10-01 11:42:14 +02:00
Victoria Brekenfeld
f339e21479 floating: Keep elements positioned relatively on recalculate 2025-09-22 18:07:10 +02:00
Ashley Wulber
b19f66702f
shortcuts: touchpad toggle keybind 2025-09-19 15:33:10 +02:00
Ian Douglas Scott
b75be5b305 Remove last_cursor_position from CosmicMapped
Since 5459f52d, this is no longer ever set.
2025-09-18 23:36:30 +02:00
Ian Douglas Scott
f63d901406 screencopy: Render cursor for toplevel capture at right position
`CosmicMapped::cursor_positon` may have worked previously, but doesn't
now.

This is based on the code used for seperate cursor capture sessions.
Maybe this could be consolidated in some way.

But this seems to work. Including for rotated outputs.
2025-09-18 23:36:30 +02:00
Ian Douglas Scott
0c941b802d screencopy: Add cursor render element first
Otherwise, the cursor is rendered behind the toplevel, and isn't
visible.
2025-09-18 23:36:30 +02:00
Ian Douglas Scott
d8281ed51b shell: Handle WorkspaceMode::Global in move_workspace()
If workspaces span across outputs, the `Workspace` at a particular
index should be moved on every `WorkspaceSet`.
2025-09-18 23:35:22 +02:00
Ian Douglas Scott
b8ffc89948 shell: Make migrate_workspace() a no-op on global workspace mode
Doing nothing may be a bit confusing, but `MigrateWorkspaceToOutput`
isn't bound by default anyway.
2025-09-18 23:35:22 +02:00
Michael Aaron Murphy
64a9c1badf fix(config): move cosmic-randr-shell to main branch 2025-09-17 17:58:01 +02:00
Victoria Brekenfeld
b83e9f1d32 config: Make read_outputs failable
Previously we ignored when we had no output configuration
**and** failed to apply the automatically created one.

This leads to two problems:
- If this happens on startup, we end up with no outputs being added to the shell and we quit.
- If this happens later, we might end up in an inconsistent state, where the shell thinks we have an output, when it didn't light up for similar reasons.

Thus `read_outputs` is failable and handling that very much depends on
the where is was called from, because `read_outputs` doesn't know what
configuration was active before.

Thus make it failable and provide useful mitigations everywhere
possible:
- Try to enable just one output in case we fail on startup.
- Don't enable any additional outputs, when we fail on hotplug.
- Log the error like previously in any other case (and come up with more
  mitigations, once we understand these cases better).
2025-09-15 09:13:00 +02:00
Victoria Brekenfeld
cd1117080c kms: Don't join on DrmSurface drop 2025-09-11 00:20:14 +02:00
Ashley Wulber
458f5f4dcf refactor(config): fix no features enabled 2025-09-09 10:01:43 -04:00
Victoria Brekenfeld
9ea3ba01e2 chore: Update smithay 2025-09-09 14:34:13 +02:00
Victoria Brekenfeld
7684cd1b2c render: Fix shader obj leak 2025-09-08 14:47:06 +02:00
Victoria Brekenfeld
a0f8c4ed99 kms/surface: Cleanup unused software-rendering code 2025-09-08 13:07:40 +02:00
Victoria Brekenfeld
3935de018e kms: evdi cursor work around 2025-09-08 13:07:40 +02:00
Victoria Brekenfeld
b7fd4bc781 kms/device: Fix render_formats 2025-09-08 13:07:40 +02:00
Victoria Brekenfeld
18a1ba2d26 kms: Don't consider software devices for primary 2025-09-08 13:07:40 +02:00
Victoria Brekenfeld
6eb5ca1f94 kms: Close drm fds via session 2025-09-08 13:07:40 +02:00
Victoria Brekenfeld
cad5ed8945 kms: Don't attempt dmabuf import on software devices 2025-09-08 13:07:40 +02:00
Victoria Brekenfeld
70cd1842c1 kms/device: Don't advertise drm_node on software devices 2025-09-08 13:07:40 +02:00
Victoria Brekenfeld
a840b52930 chore: smithay update 2025-09-08 13:07:40 +02:00
Kamil Lihan
e95ff7c6e5 i18n(sk): Update translations 2025-09-08 11:23:44 +02:00
zefr0x
dfdb375c0a i18n(ar): improve translations 2025-09-05 13:52:23 +02:00
19MisterX98
c9e64acad2 fix: don't assume previous workspace still exists #1588 2025-09-04 12:17:12 +02:00
Ian Douglas Scott
3f74a22cca kms/surface: Fix transform used for blits
Use the same logic used `submit_buffer`. This fixes corruption in OBS
when trying to capture a rotated output.
2025-09-02 17:12:37 +02:00
Ian Douglas Scott
9cc68dcbcc screencopy: Fix transform for damage rect advertised to client
This fixes two issues:
- The `area` passed to `to_buffer()` should match the dimensions of the
  output/etc. being captured, rather than coming from the damage rect
  size.
- The transform needs to be inverted.

Previously, rotated outputs could cause a crash
`xdg-desktop-portal-cosmic`, since the compositor was passing negative
coordinates in `damage`, and the client used the same in
`damage_buffer`. This was causing
https://github.com/pop-os/xdg-desktop-portal-cosmic/issues/165.

The portal crash no longer occurs, and logging in
xdg-desktop-portal-cosmic shows damage rects that match expectation
while moving the cursor over different corners of a workspace.
2025-09-02 17:12:37 +02:00
Adrian Wilkins
321894728a Fix vim-ish k and j discrepancy in keymap
`k` is up and `j` is down, but these two maps were mapped
to the opposite sense.
2025-09-01 13:15:35 +02:00
jermanuts
174e3b00ec i18n(ar): Update Arabic translations 2025-09-01 13:14:53 +02:00
Ashley Wulber
2ccdb6c93d cleanup 2025-08-26 11:30:56 -04:00
Ashley Wulber
2917e8b30c filter unknown 2025-08-26 11:30:56 -04:00
Ashley Wulber
bb8e066d6d feat(config): load cosmic-randr output Lists 2025-08-26 11:30:56 -04:00
Ashley Wulber
416b66b776 refactor(output config): move to config crate
this allows the greeter to easily sync to the user config
2025-08-26 11:30:56 -04:00
Victoria Brekenfeld
4a385d5535 config: Allow overriding touchpad state 2025-08-22 18:23:05 +02:00
Ian Douglas Scott
e54f4b4963 protocols/workspace: Set ext workspace id for pinned workspace
The `id` is defined to be sent only once, on creation of the handle or
later. And only for workspaces that are "likely to be stable across
multiple sessions".

Set we add an `id` initially for pinned workspaces, and add one when the
workspace is pinned.

The `id` is not supposed to be human readable, so we just use a random
value.
2025-08-22 11:58:07 +02:00