adwaita-swift
adwaita-swift copied to clipboard
Migrate to Meta backend
Steps
- [x] Add your name or username and a link to your GitHub profile into the Contributors.md file.
- [x] Build the project on your machine. If it does not compile, fix the errors.
- [x] Describe the purpose and approach of your pull request below.
- [x] Submit the pull request. Thank you very much for your contribution!
Purpose
Migrating to the Meta project enables using the project in combination with other backends to develop cross-platform apps.
Approach
The PR uses the Meta package. Additionally, further changes are made to modernize the framework:
- Remove child windows. Instead, you can add file dialogs to windows in a similar way you add dialogs.
- You do not have to use
Idle
yourself. If you update state from a non-main thread, it will automatically wrap the update process withIdle
. - Add support for explicit identifiers for state (part of the Meta package). In some cases, this might be required (example: Idle demo).
- Detect deprecated GTK/Adw functions in order not to use them
Before merging this, I will:
- [ ] Replace storing state values to files by an SQLite implementation
- [ ] Implement strict concurrency and migrate Meta & adwaita-swift to Swift 6