Commit graph

391 commits

Author SHA1 Message Date
Ian Douglas Scott
c9a69bdfdb Expose DBus protocol with signals indicating when shown/hidden 2025-09-22 14:41:29 -07:00
zefr0x
d3fc7a2815
i18n(ar): improve and complete translations (#181) 2025-09-19 11:30:25 -06:00
enriquezaf
4d83699c77
i18n(es): Updated translation (#182) 2025-09-19 11:30:08 -06:00
twlvnn
063ed86cf7
i18n(bg): Add Bulgarian translation (#183) 2025-09-19 11:29:54 -06:00
kkCoder111
183d5da109
i18n (ta) - Add workspace count translation (#198)
* Add Tamil translation

* add workspace number translation
2025-09-19 11:29:22 -06:00
Emre Can
46a025c90a
Add Turkish Translation (#200) 2025-09-19 11:29:06 -06:00
Ian Douglas Scott
85436fa9d6 screencopy: Accumulate buffer damage 2025-09-17 14:30:24 -07:00
Ian Douglas Scott
7670bfb9ff Move swapchain size into a const 2025-09-17 14:30:24 -07:00
Ian Douglas Scott
5193756e4d Update cosmic-client-toolkit 2025-09-17 10:39:50 -07:00
Ian Douglas Scott
3aad95d463 screencopy: Capture with full damage
Should accumulate damage, but this will behave correctly, if not
optimally.

Not yet required with cosmic-comp implementation.
2025-09-16 09:34:56 -07:00
Ian Douglas Scott
7933eef149 screencopy: re-allocate buffers on BufferConstraints error
Doesn't always seem to work immediately. Does compositor need change to
not wait for damage to re-capture after constraint error?
2025-09-16 09:34:56 -07:00
Ian Douglas Scott
a4b1e73a8b screencopy: Only start capture in init_done if not capturing already 2025-09-16 09:34:56 -07:00
Vukašin Vojinović
a939335b9e chore: Rust 2024 and update dependencies 2025-09-11 14:03:30 -07:00
Kamil Lihan
05c9af1b95 i18n(sk): Add translations 2025-09-07 14:59:22 +02:00
Ian Douglas Scott
0375f28bb2 Fix a few build warnings 2025-08-22 13:11:32 -07:00
Ian Douglas Scott
30ca652b1e Update cctk
Includes https://github.com/pop-os/cosmic-protocols/pull/62.
2025-06-25 17:54:18 -07:00
Ian Douglas Scott
2f8f689cfd Update rustix to 1.x
We have both in the dependency tree now, so may as well update here.
2025-06-12 13:02:54 -07:00
Ian Douglas Scott
d62ff0101d Run cargo update
Should include https://github.com/pop-os/iced/pull/229.
2025-06-12 13:02:54 -07:00
Ian Douglas Scott
3519d22dbd Fix building with mock-backend 2025-06-04 10:10:07 -07:00
Ian Douglas Scott
6d86762152 Define Workspaces and Toplevels structs
This way methods can be called while other parts of `App` are mutably
borrowed.
2025-06-04 10:10:07 -07:00
Ian Douglas Scott
20b694386d Drop capture received from backend if it no longer matches filter 2025-06-04 10:10:07 -07:00
Ian Douglas Scott
5351feb0ce Drop CaptureImages that don't match new capture filter 2025-06-04 10:10:07 -07:00
Ian Douglas Scott
a863e8f7d6 Helper methods on CatpureFilter for matching
Could be prettier, but want some way to check this in multiple places.
2025-06-04 10:10:07 -07:00
Ian Douglas Scott
6fd237ac39 row_col_toplevel_layout: fix handling of spacing / scaling
Spacing shouldn't be multiplied by the scale factor. It should be added
seperately.
2025-05-29 19:31:01 -07:00
Ian Douglas Scott
fcd8fa4336 size_cross_nth: Allocate space for widget out of remaining space 2025-05-29 19:31:01 -07:00
Ian Douglas Scott
4eac385992 two_row_col_toplevel_layout: Fix cross axis (vertical) spacing
Fixes two row layouts being cut off at the bottom.
2025-05-29 19:31:01 -07:00
Ian Douglas Scott
31f45648ca Update to zbus 5.x 2025-05-23 09:46:33 -07:00
Ian Douglas Scott
8a9b9ea614 Use modifiers from image-copy dmabuf_format, ignoring feedback
Default feedback only include primary GPU, so the previous version of
this prevents the use of explicit modifiers from the non-default GPU.

https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/268
or something similar will hopefully improve this at some point...

But we can presumably assume `dmabuf_format` will only include formats
valid to create a dmabuf `wl_buffer` from.
2025-05-19 13:11:30 -07:00
Ian Douglas Scott
509e572e8e Remove currently unused node field of Buffer 2025-05-19 13:11:30 -07:00
Ian Douglas Scott
15e73830fa Use gbm device from image copy protocol instead of default node
This fixes `BufferConstraints` errors for workspace capture on Nvidia
outputs of a Intel+Nvidia system. (That didn't happen on Amd+Nvidia;
maybe a linear stride alignment issue?)
2025-05-19 13:11:30 -07:00
Ian Douglas Scott
5bb719f617 Use cosmic-freedesktop-icons, like libcosmic 2025-05-15 10:05:57 -07:00
Ian Douglas Scott
bf0830c20e Run cargo update 2025-05-15 10:00:27 -07:00
Vukašin Vojinović
f76e547540 fix(view): scaling behavior
This should prevent the pin button and text being getting pushed out with horizontal workspaces and when scaling vertical workspaces.
2025-05-02 12:44:03 -07:00
铺盖崽
edd75b8121
i18n(zh-CN): update desktop file translation 2025-05-01 17:13:31 +02:00
Vukašin Vojinović
e2e0f09311 fix(view): match pin button appearance to designs 2025-04-24 17:08:15 +02:00
Ian Douglas Scott
3c9a923f41 Add support for workspace pinning and dragging
Workspaces can be pinned, and dragged to reorder or move to a different
output.

These features are enabled only if cosmic-workspace-v2 advertises the
necessary protocol version and capabilities.

The layout of the labels and pin buttons could be tweaked a bit still.
Some hacks and workarounds are needed to get drag and drop working as
desired. Something iced and libcosmic could potentially improve in the
future. But this now seems fairly robust.
2025-04-22 11:43:30 -07:00
Ian Douglas Scott
94ec10686e backend/wayland: Support running without toplevel manager protocol 2025-04-21 14:21:57 -07:00
Ian Douglas Scott
77ff4e62e9 Pass toplevel_capabilities from backend to frontend 2025-04-21 14:02:36 -07:00
Ian Douglas Scott
fc784af1b9 Fix building with mock-backend 2025-04-21 13:49:49 -07:00
Ian Douglas Scott
7037cd3d05 Activate workspace only if capability is present
Potentially relevant on compositors not advertising this, or if a
compositor wanted to advertise `Activate` support for some but not all
workspaces. This will be more relevant with other capabilities.
2025-04-21 13:20:42 -07:00
Ian Douglas Scott
655621fde0 Fix clippy lints 2025-04-21 11:32:07 -07:00
Ian Douglas Scott
62fbd056bf Store cctk::workspace::Workspace in struct Workspace
Instead of adding more fields to this struct that need to be copied from
the cctk type, just wrap it. Can add methods where that's convenient.
2025-04-21 10:36:44 -07:00
Ian Douglas Scott
bcb68ab054 widget/toplevel_item: Rename to size_cross_nth; take index argument
Name is a bit awkward, but useful for other purposes.
2025-04-17 13:45:55 -07:00
Ian Douglas Scott
4637fcb655 widget/toplevel_item: Fix tree passed to layout() of second child 2025-04-17 13:22:34 -07:00
Vukašin Vojinović
588e889e0b chore(view): remove bg_element
This removes the unused `bg_element` function.
2025-04-16 18:25:04 -07:00
Vukašin Vojinović
2b7a8b133e improv(view): make workspace item sizing more dynamic
This makes the `workspace_bar` more responsive to different child sizes, which enables fixing the size of the smaller dimension of the screencopy, while allowing it to expand unrestricted in the larger dimension (to match the aspect ratio).
2025-04-16 18:25:04 -07:00
Ian Douglas Scott
d4ddae7799 Fix "never read" lint 2025-04-15 14:17:23 -07:00
Ian Douglas Scott
74270a2deb Use ThreadExecutor instead of calloop executor
I thought the calloop executor had been fixed, but it still seems to
have issues that were preventing capture of continuous frames from
working consistently.

Fixes https://github.com/pop-os/cosmic-workspaces-epoch/issues/160.
2025-04-15 12:34:37 -07:00
Ian Douglas Scott
7ab1f93acf Add and use TwoRowColToplevelLayout
This tries to find a split point in the list of toplevels to maximize
the scale factor when calling `RowColToplevelLayout` twice. If it
doesn't get a better scale factor, it just uses a single row/column.

Some things don't seem quite right, but the existing layout is not
perfect, and this can help.

Without the added cross axis spacing, there's overlap, so there may be
something wrong with the requested sizes...
2025-04-08 16:25:16 -07:00
Ian Douglas Scott
1fd7a86ecc row_col_toplevel_layout: Add a new method 2025-04-08 16:25:16 -07:00