@@ -18,10 +18,9 @@ desires, such as React (or Preact), Vue, Angular or just plain HTML/JS.
1818
1919## Roadmap
2020
21- - [x] GTK window management
22- - [x] GTK layer shell integration
23- - [x] Webkit integration
24- - [x] Experimental Qt backend
21+ - [x] Qt window management
22+ - [x] Qt layer shell integration
23+ - [x] QtWebEngine integration
2524- [x] TOML configuration
2625- [ ] WebSocket JSON IPC
2726 - [ ] Hiding, showing widgets
@@ -52,14 +51,14 @@ desires, such as React (or Preact), Vue, Angular or just plain HTML/JS.
5251- [ ] Example fully fledged shell to demonstrate capabilities
5352- [ ] Support for other compositors (Sway, etc.)
5453- [ ] Plugins system
55- - [ ] Fix the damn 60hz webkit lock
54+ - [ ] Fix the damn 60hz web engine lock
5655
5756## Features
5857
5958- ** Web-based widgets** : Create shell widgets using web technologies like React/Preact, Vue, Angular, or plain HTML/JS.
6059- ** Wayland integration** : Seamlessly integrates with Wayland, allowing you to create widgets that work well with the
6160 Wayland protocol.
62- - ** Solid foundation** : Built on top of GTK4 and WebkitGTK 6.0 , providing a solid foundation for the project.
61+ - ** Solid foundation** : Built on top of Qt6 and QtWebEngine , providing a solid foundation for the project.
6362- ** Easily configurable** : Configure the structure of your widgets using a simple TOML configuration file.
6463- ** React integration** : Comes with a React-based component/hook library for integrating your shell with your system.
6564 Provides out of the box integration for bluetooth, wifi, hyprland, tray and more.
@@ -93,8 +92,8 @@ functional shell widgets.
9392any other CSS framework you like. Use React, Vue, Angular or just plain HTML/JS. WSS is designed to be flexible at all
9493costs.
9594
96- ** You might ask - but isn't it slower than a "native" (GTK/QT) shell?** It's a good question, and the answer is, yes, it
97- is. But the performance difference is negligible unless you're running an older system, and the ease of use and
95+ ** You might ask - but isn't it slower than a "native" (GTK/QT) shell?** Absolutely. But the performance difference is
96+ negligible unless you're running an older system (or do A LOT of heavy-weight animations) , and the ease of use and
9897flexibility of WSS outweighs the performance hit for me. Plus, with the power of modern web technologies, you can create
9998highly performant widgets that are indistinguishable from native ones. No one forces you to install 500 heavy-weight npm
10099packages after all. ;)
@@ -150,7 +149,7 @@ For other useful CLI options, run `wss --help`.
150149## Hyprland / Other Compositors
151150
152151WSS is ** predominantly designed to work with Hyprland** , but it should work with any Wayland compositor that supports
153- GTK4 Layer Shell protocol.
152+ Layer Shell V1 protocol.
154153
155154> [ !NOTE]
156155> I strongly recommend using Hyprland if you can. WSS is tested and developed
@@ -170,12 +169,8 @@ layerrule = ignorealpha 0, wss.shell # Ignore blur when alpha is 0 (transparent
170169
171170## Known Quirks
172171
173- - WebkitGTK web view is locked to 60hz (only on nvidia drivers?), which is very unfortunate. I'm _ actively_ working on
174- finding a workaround for this. I might opt for CEF in the future if I can't find a solution but it would be a pretty
175- big undertaking.
176- - Since it's based on Webkit, CSS support is not as good as in Gecko or Chromium. Some CSS features may not work as
177- expected, and you may need to use workarounds or polyfills for certain features. I recommend using something like
178- TailwindCSS to alleviate this problem a bit.
172+ - QtWebEngine web view is locked to 60hz (only on nvidia drivers?), which is very unfortunate. I'm _ actively_ working on
173+ finding a workaround for this.
179174- Realtime thumbnail preview for widgets like docks might be pretty hard to pull off as of right now. (The performance
180175 hit of sending video data through websockets might be too high). This is something that can be improved in the future.
181176 Native widget system is better for some things and that's just life.
0 commit comments