Skip to content
forked from da-rth/yasb

A highly configurable cross-platform (Windows) status bar written in Python.

License

Notifications You must be signed in to change notification settings

spreadprism/yasb

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yasb - Yet Another Status Bar

A highly configurable cross-platform (Windows) status bar written in Python.

What is it?

Yasb (Yet Another Status Bar) is a highly configurable status bar written in Python using the Qt6 GUI Framework. The current goal of yasb is to bring a polybar/waybar-style status bar to the Windows platform. However, as yasb is written in Python + Qt6, it is cross-platform capable. With some minor adjustments and OS-specific widgets, yasb can also be configured to run on both Linux and Mac OSX.

What can it look like?

Although yasb comes with default stylesheet and configuration files, the user is given complete control over how their status bar is structured and how it will look.

The config file allows for extensive configuration of one or more taskbars, whereas, the stylesheet used by yasb allows for complete control over how the bar and its nested widgets should look. Change everything from font and colours to rounded corners, padding and opacity.

For an example of the default bar configuration, see the image below:

Some interesting features:

  • Multi-monitor and monitor-exclusive taskbars
  • Multiple bars per monitor
  • Top, bottom and centred bar alignment
  • Full UI customisation via user-defined stylesheet
  • Extensive configuration via a user-defined configuration file
  • Config and stylesheet validation
  • Configurable taskbar widgets
    • Active Window Title (and other window information)
    • Battery Widget with customisable
    • Clock Widget with multi-time zone support
    • Custom (command line) Widgets with JSON parsing
    • Memory & CPU Monitor Widgets
    • Komorebi WM Workspace Widget
    • and more...

TODO List

  • Documentation (Wiki is WIP)
  • Automatic bar creation/deletion for screen connect/disconnect events
  • New top, left, bottom, right padding setting
  • Config/stylesheet auto-loading (via file watcher)
  • Window Blur effect
  • SCSS stylesheet support
  • Tray options for toggling bars on/off
  • Improve default CSS stylesheet
  • Media Player Widget - WIP
  • Disk Space Widget
  • Keyboard State Widget
  • Bluetooth(?) Widget
  • Volume Widget
  • Backlight Widget
  • Calendar Pop-up for Clock Widget

How do you run it?