Vukašin Vojinović
87dca9eda4
improv(view): use ellipsis for labels
2026-02-20 23:54:21 +01:00
Vukašin Vojinović
5fbbf4ba37
chore: update dependencies
2026-02-20 23:54:21 +01:00
Vukašin Vojinović
db6fbfbce7
cleanup
2026-02-20 23:54:21 +01:00
Vukašin Vojinović
e45d2ea694
chore: clippy
2026-02-20 23:54:21 +01:00
Ian Douglas Scott
d31c6dbccb
backend/wayland/vulkan: Enable VK_EXT_physical_device_drm extension
...
Fixes a segfault when run with `--no-default-features` to disable
`wgpu`.
2026-02-12 12:01:05 -08:00
Lysander Treumann
f31e33ad30
Added feature "action on typing", i.e. cosmic-workspaces opens cosmic-launcher or cosmic-app-library, if the setting is set.
...
When opened by typing, cosmic-launcher or cosmic-app-library are closed when existing the workspaces overview.
Changed exiting workspaces overview by pressing Escape from KeyReleased to KeyPressed to improve interaction between cosmic-workspaces and cosmic-launcher/cosmic-app-library.
2026-01-31 04:17:14 +01:00
Ian Douglas Scott
a607da7f44
Use libcosmic DiscreteScrollState helper
2025-12-08 13:12:02 -08:00
Ian Douglas Scott
cf2bb0205c
screencopy: Use info! logging for FailureReason::Stopped
...
This is an expected case, not an error.
2025-12-08 13:12:02 -08:00
Ian Douglas Scott
c5f777dc15
Adjust speed of pointer scrolling
2025-12-08 13:12:02 -08:00
Ian Douglas Scott
1e61881b4f
Accumulate line scrolling
...
Combined with https://github.com/pop-os/iced/pull/244 , discrete value120
scrolling works better.
2025-12-08 13:12:02 -08:00
Ian Douglas Scott
bd9e031912
Wrap workspace scrolling at start and end
...
Matches the behavior of scrolling over the applet. Seems reasonable.
2025-12-08 13:12:02 -08:00
Ian Douglas Scott
04edd3b909
Add margins for auto-hide panels without exclusive zones
...
Works alongside panel changes in
https://github.com/pop-os/cosmic-panel/pull/485 .
We can't set an exclusive zone in the panel, since that would cause all
the workspaces to re-layout to make space for it, and also impact
workspace capture. Instead, cosmic-workspaces reads the config and adds
appropriate margins.
2025-11-13 16:27:28 -08:00
Ian Douglas Scott
41a940660c
Use subscriptions to monitor cosmic-panel configs
2025-11-13 16:27:28 -08:00
Ian Douglas Scott
9968b0e61f
workaround: Force shm on Meteor/Arrow/Lunar Lake
2025-09-22 14:45:40 -07:00
Ian Douglas Scott
b8780b9911
dbus: Add methods to show or hide
2025-09-22 14:41:29 -07:00
Ian Douglas Scott
c9a69bdfdb
Expose DBus protocol with signals indicating when shown/hidden
2025-09-22 14:41:29 -07: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
Ian Douglas Scott
0375f28bb2
Fix a few build warnings
2025-08-22 13:11:32 -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
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
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
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
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