Skip to content
This repository has been archived by the owner on Jul 15, 2024. It is now read-only.

Make a new wayland backend using smithay-client-toolkit #107

Merged
merged 15 commits into from
Jul 20, 2023

Conversation

DJMcNab
Copy link
Member

@DJMcNab DJMcNab commented Jun 26, 2023

Previous commit histories can be found in waylander and waylandest. Those histories were abandoned to rebase over #103, #104 and #105.

Works towards #28

Future work, which should probably be done before merge

  • Input types (Mouse/Keyboard)

Other future work, which can be collaborated on once merged:

  • Timers
  • Proper invalidation
  • Pop-up windows
  • Solve client side decorations. Either API for it and require users to implement, or using a fallback, if can be made to work.
  • Menus of all kinds - same as client side decorations
  • Clipboard - our API is synchronous, but Wayland's is async
  • Monitors - should access the OutputState, I think
    What do we actually use monitors for?
  • Text fields/compose
  • Cursors
  • XDG desktop portal (file open/save, etc.)
  • Fractional scaling (needs changes in sctk)
  • Work out how to customise the App ID

loop_signal: LoopSignal,
pub(super) idle_sender: Sender<IdleAction>,
pub(super) loop_sender: channel::Sender<ActiveAction>,
pub(super) raw_display_handle: *mut c_void,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could keep the Connection around for this or get the underlying Backend from wayland-backend and keep that.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like to avoid random 'Application' instances keeping the connection alive(?) without reason, which it's possible that this would do.

But I'm not tied to this particular implementation decision

src/backend/wayland/application.rs Show resolved Hide resolved
src/backend/wayland/input/keyboard/mmap.rs Show resolved Hide resolved
Copy link

@jaredoconnell jaredoconnell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a good start. This looks good to merge once PR #117 is merged.

Cargo.toml Outdated Show resolved Hide resolved
src/backend/linux/window.rs Show resolved Hide resolved
@DJMcNab DJMcNab enabled auto-merge July 20, 2023 18:31
auto-merge was automatically disabled July 20, 2023 18:33

Merge queue setting changed

@DJMcNab DJMcNab added this pull request to the merge queue Jul 20, 2023
Merged via the queue into linebender:main with commit da003e1 Jul 20, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants