Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transparent windows, optional decorations #380

Merged
merged 25 commits into from
Feb 10, 2023
Merged

Transparent windows, optional decorations #380

merged 25 commits into from
Feb 10, 2023

Conversation

dhardy
Copy link
Collaborator

@dhardy dhardy commented Feb 9, 2023

Support transparent windows. Bug: output may expect pre-multiplied alpha; we do not output that. Not trivial to handle since WGPU enumerates several modes but not all are supported, so possibly we should support both pre- and non-pre-multiplied alpha output?

Support multiple window decoration modes: none, frame-only, frame+titlebar (toolkit drawn), server-side. Limitation: winit does not currently support server-side decorations on Wayland.

New (very basic) graphics for toolkit-drawn titlebar (currently lacking support for an icon). Need to decide what image formats we support for this; use Image widget or just Vec<u8> like Winit. Limitation: the TitleBar widget is defined in KAS-core thus cannot use KAS-widgets's widgets. At least, this is the current state.

Adjust examples/clock.rs to be transparent:
clock

New, enabled-by-default features: wayland, x11. Do not use winit/wayland-csd-adwaita thus reducing dependencies. Size of gallery (release, stripped): previously 18M, now 17M, down as low as 11M (minimal features only on X11, which still includes WGPU and resvg).

@dhardy dhardy merged commit 2d44664 into master Feb 10, 2023
@dhardy dhardy mentioned this pull request Feb 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant