Chuyển đến nội dung

Frameworks Review

Nội dung này chưa có trong Tiếng Việt

This note contains some references, experiences and opinions on the frameworks.

References: Arch Wiki

Widget systems

These widget systems provide a declarative way to create widgets and put them on Layer Shells (and, if possible, whatever the equivalent on X11 is).

EWW

  • GitHubDocs
  • Pros
    • An all-rounder widget system suitable for anyone with a little bit of programming experience.
    • It supports X11 and Wayland.
    • It’s incredibly easy to use
  • Cons
    • …but at the same time incredibly slow when you create complex widgets. This is because it destroys and recreates the widgets every time their used variables are updated. It’s worst when you use loops…
    • No internal way to update variables. It’s all done through shell.

AGS

  • GitHubDocs

  • Pros

    • AGS is more capable and performant than EWW, since it doesn’t unnecessarily destroy and recreate widgets.
    • Configured in GJS, it’s flexible enough so you don’t have to rely on scripts (the listening/polling of which adds some delay)
    • In contrary to what people think, JS-powered does not mean power-consuming. For some people (me, end_4, included), it’s even more power-saving than Waybar.
  • Cons

    • For icon sizes, it’s often a pain having to wait for the CSS to load before being able to retrieve some font-size-scalable data.
    • Working with looped widgets in an imperative way could be a pain if you forget to set a widget reference to null after destroying.

Quickshell

  • GitHub
  • A QtQuick-based desktop shell toolkit inspired by AGS
  • This is something I’m excited about, but haven’t tried yet and will soon. It’s largely WIP, and is actively being developed.
  • Dev guy says he has plans for window thumbnails, which would be a killer feature.

Fabric

  • GitHub
  • A GTK Python widget framework

Potato

  • GitHub
  • Another GTK Python widget framework

Simple bars

These are simple bars with premade modules. You can change the order of the widgets fully horizontally or vertically and give them some styles, but that’s about it.

Waybar

  • GitHubDocs
  • A simple, widely used bar for Wayland.

HybridBar

Polybar