Commit graph

1063 commits

Author SHA1 Message Date
Ian Douglas Scott
cbca13803c Update libcosmic to fix assertion error
Includes https://github.com/pop-os/libcosmic/pull/482, and fixes
https://github.com/pop-os/cosmic-comp/issues/530.
2024-05-31 15:57:10 -06:00
Ian Douglas Scott
7b79387579
Update wayland-rs (#529)
Updates to latest Smithay and cosmic-protocols, which brings in the
latest version of wayland-rs.

I've already pushed the update to cosmic-protocols.
2024-05-31 14:48:19 -07:00
Ryan Brue
f4eefcb2a1 chore: cargo update 2024-05-30 17:15:35 -04:00
Ryan Brue
b4a712c2bf chore: cargo fmt 2024-05-30 23:05:34 +02:00
Ryan Brue
6ca1a37a53 design: Make server side decorations compact 2024-05-30 23:05:34 +02:00
Ryan Brue
16cce7c97a chore: cargo update 2024-05-30 23:05:34 +02:00
Ashley Wulber
13e67f3dc2 fix: apply activated state when updating maximized layout 2024-05-30 22:25:33 +02:00
Skygrango
743b5ad4a7 i18n(zh_TW): add Taiwanese translation 2024-05-29 06:27:35 -06:00
Arthur Araujo
b8f245f878 Add brazilian portuguese translation 2024-05-29 06:27:12 -06:00
Ian Douglas Scott
0c54511477 Invert is_decorated test in min_size/max_size
It looks like these if conditions assumed `true` mean "has SSDs". But it
actually means the surface is client-side decorated.
2024-05-29 06:26:41 -06:00
Ian Douglas Scott
1ed9649891 Account for SSD_HEIGHT in XwaylandHandler::configure_request
`CosmicWindow::set_geometry` is going to subtract the `SSD_HEIGHT`
before setting the size for the X11 window, so we need to include it
here.
2024-05-29 06:26:41 -06:00
Ashley Wulber
a3df48fe17 fix: update maximized elements when refreshing the floating layout
fixes the gap between the window and the panel
2024-05-29 01:05:09 +02:00
Ashley Wulber
8df49bb7c1 feat: add shortcut for super-tab 2024-05-28 06:58:38 -06:00
Ian Douglas Scott
4b9cc43924 Update Smithay with Nvidia IN_FENCE_FD fix
The only thing added to Smithay since the last update is
https://github.com/Smithay/smithay/pull/1437.

Fixes https://github.com/pop-os/cosmic-comp/issues/497.
2024-05-24 23:25:55 +02:00
LazyTanuki
dcc4873e60 feat: configurable keyboard repeat rate and delay 2024-05-23 22:41:54 +02:00
PixelDots
b3c606fdf6 Fixes https://github.com/pop-os/cosmic-epoch/issues/346 2024-05-23 17:17:37 +02:00
Ashley Wulber
ea6b45a544 feat: add alt-tab shortcut 2024-05-22 16:54:00 -04:00
Ian Douglas Scott
4f076e0753 Update smithay, with xwayland shell, Cow, etc. 2024-05-21 19:31:50 +02:00
Ian Douglas Scott
dfb3bea595 Disable Smithay use_system_lib to use Rust backend to wayland-rs
It seems this was needed for `renderer.bind_wl_display`. But only in the
X11 and winit backends. Unless there's some less obvious reason to use
the `use_system_lib` feature, it seems undesirable and avoidable.

This uses `WlDrmState` to provide `wl_drm` on those backends instead.
2024-05-15 13:12:24 +02:00
Ian Douglas Scott
47f8c1da38 Define a advertised_node_for_client instead of duplicating code
Can't use this in `SecurityContextHandler` since it only has a `ClientId`,
not a `Client`.
2024-05-15 13:12:24 +02:00
knm100
99fa371ffa i18n: Add zh_CN Translation 2024-05-15 09:37:28 +02:00
Ian Douglas Scott
46fd6ebd61 Fix tablet input
We need to call `add_tablet` for each tablet device, not just if the
capability is new. Also, the tool needs to be added with `add_tool`.

`xournalpp` seems to be working now.
2024-05-15 08:16:43 +02:00
Ian Douglas Scott
36bf611bac fix: Apply scroll_factor to v120 events
I wasn't sure if, or how, scaling should apply to the `scroll_value120`
events. But it seems both sway and kwin just multiply by the scale
factor then round, so that seems reasonable.

This seems to fix https://github.com/pop-os/cosmic-settings/issues/270.
2024-05-10 14:00:45 +02:00
Ian Douglas Scott
73b12194c0 Update smithay 2024-05-10 13:51:28 +02:00
Ian Douglas Scott
a9740e5040 Change how COSMIC_ENABLE_WAYLAND_SECURITY/privileged is handled
Manually starting `cosmic-panel` was not working properly in release
builds, because without `cfg!(debug_assertions)`, the `privileged` flag
wasn't sent on the panel, so it couldn't be propagated to the applets,
which also fail the `client_has_no_security_context()` check.

I don't see a way to have both the `cfg!(debug_assertions)` check and
`COSMIC_ENABLE_WAYLAND_SECURITY`. Now only the latter is used, and it
determines the value of `privileged` for clients started normally. In
the future, we could make the default value of
`COSMIC_ENABLE_WAYLAND_SECURITY` depend on `cfg!(debug_assertions)` if
desired.

This also corrects the inconsistency that the `cfg!(debug_assertions)`
check wasn't applied to the render-node-specific Wayland sockets.
2024-05-08 13:10:07 +02:00
Victoria Brekenfeld
954aa6edeb output-management: Handle destroy requests better 2024-05-07 12:25:15 +02:00
Victoria Brekenfeld
45bdffe802 output-management: Correctly advertise enabled-state for mirrored outputs 2024-05-07 12:25:15 +02:00
Victoria Brekenfeld
1048d99c05 output-management: Don't advertise wl_output for mirrored outptus 2024-05-07 12:25:15 +02:00
Victoria Brekenfeld
5f4377bf59 wayland: Add cosmic-output-management 2024-05-07 12:25:15 +02:00
Victoria Brekenfeld
98ec82db77 output-configuration: Add vrr state 2024-05-07 12:25:15 +02:00
Victoria Brekenfeld
4b71674e10 output-configuration: Support release-requests / v3 2024-05-07 12:25:15 +02:00
Victoria Brekenfeld
3eb6c02008 kms: Output mirroring 2024-05-07 12:25:15 +02:00
Mattias Eriksson
19ba568f02 Initial support for idle notify and idle ihibit 2024-05-03 14:38:58 +02:00
Ian Douglas Scott
c4fc91d6e9 screencopy: Don't send fail after ready
Cosmic-workspaces was having an issue when the compositor sent `ready`,
`failed`, then `stopped`. This could be worked around client-side, but
presumably the compositor should never send more than one
`failed`/`ready` for a particular frame.

It seems cleaner to have `FrameInner::fail` as the only place that sends
`failed`. So any checks can be there. I believe the logic there should
be appropriate for every call.
2024-05-03 14:21:30 +02:00
Ian Douglas Scott
3697494146 screencopy: Fix reference cycle, that leaks buffer
Before this, `/proc/$(pidof cosmic-comp)/maps` quickly expands in length
when cosmic-workspaces is opened and closed a bunch of time, preventing
the GPU memory from being freed. Which on my Intel system can lead to
OOM eventually.

There may be other leaks to deal with, but `maps` no longer shows this
issue.
2024-04-30 13:05:16 +02:00
Ryan Brue
90227471bf feat: floating window tiling gaps 2024-04-22 10:44:14 +02:00
Ian Douglas Scott
8cee91c88f Support touch drag for SSD toplevels, and stacks
We already direct touch events to Iced, and the Cosmic `HeaderBar`
widget already recognizes drags from touch events. So it seems updating
`last_seat` is all that was needed for windows SSDs.

For stacks, the same works, plus moving using the same logic for
detecting drags that is used for mouse events.
2024-04-19 09:30:46 +02:00
Ian Douglas Scott
5e61ce1ff8 Enable smithay/renderer_pixman feature
This enables support for using Pixman for cursor planes.
2024-04-17 12:01:25 +02:00
Ian Douglas Scott
916b7729a5 fix: Add Element::kind method to CosmicElement
The default implementation always returned `Kind::Unspecified`. Instead,
we should pass this method through to the wrapped element.

This fixes the use of cursor planes. Now trace logs show Smithay
assigning an element to the cursor plane, and tools like `drm_info` show
the cursor plane with an `FB_ID` attached.
2024-04-17 12:01:25 +02:00
Ian Douglas Scott
17ddc7ce24 Update smithay
Updates for changes in https://github.com/Smithay/smithay/pull/1391.
2024-04-17 11:59:13 +02:00
Victoria Brekenfeld
5d5a510691 state: Move shell behind RwLock 2024-04-16 18:50:54 +02:00
Victoria Brekenfeld
647deb81f1 shell: Move seats into shell 2024-04-16 18:50:54 +02:00
Ian Douglas Scott
1216cd0b67 Add unset method to input grab traits
Fixes https://github.com/pop-os/cosmic-comp/issues/403.
2024-04-15 18:53:09 +02:00
Ian Douglas Scott
d16a9e387d Remove outdated TODO comment 2024-04-15 11:37:03 +02:00
Ian Douglas Scott
f2efc5d56f shell: Fix MoveGrab with touch not on output pointer is on 2024-04-15 11:37:03 +02:00
Ian Douglas Scott
2c5c32ad4e shell: Fix resize grab unsetting 2024-04-15 11:37:03 +02:00
Ian Douglas Scott
2961291d26 shell: Fix moving floating windows with touch 2024-04-15 11:37:03 +02:00
Ian Douglas Scott
bddfba464c shell: Add touch support to ResizeSurfaceGrab
Seems to work well with GTK.
2024-04-15 11:37:03 +02:00
Ian Douglas Scott
1da3c7c41e shell: Touch support for ResizeForkTarget/ResizeForkGrab
This seems to be working, though it's quite difficult to actually hit the
small target with touch.
2024-04-15 11:37:03 +02:00
Ian Douglas Scott
b18a3a8bc7 shell: Touch support for move grab
Touch support is still needed for other grabs. And SSDs (and libcosmic)
need to start move/menu/etc. based on touch.
2024-04-15 11:37:03 +02:00