Skip to content

Why Shell instead of a set of platforms? #6

@srtnnm

Description

@srtnnm

Slint's interpreter can be much slower than using precompiled UI with slint-build

It might be useful to provide a modular platform, for example a LayerShell, that can be used like this:

slint::include_modules!();
fn main() {
    let mut platform = LayerShell::new().unwrap();
    platform.set_anchor(Anchor::Top);
    platform.set_exclusive_zone(-1);

    slint::platform::set_platform(platform);

    let ui = MainWindow::new().unwrap();
    ui.run().unwrap();
}

This way, developers could create "Slint-style" applications for shells directly, without relying on another framework on top.

I think shells could be more modular, like KDE or COSMIC. Monolithic shells, like GNOME Shell, are nice because users “cannot break them,” but they limit customization. A modular approach could give both stability and flexibility.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions