Skip to content

nekorg/pawbar

Repository files navigation

pawbar

A kitten-panel based desktop panel for your desktop

image

Why?

Due to the existence of modern terminal standards (especially in kitty), a tiny terminal windows support true colors, text-sizing, images, mouse support (clicking, dragging, hover and scrolling), etc. Which makes it a viable option for a status bar, instead of a GUI Toolkits (like GTK). Kitty enables this using its panel mode/kitten, through which it offers all the customization/capabilities of a kitty terminal window but as a status bar on top of your screen.

Installing

Important

You need to checkout the submodules before building pawbar, you can do one of the following:

  • Clone the repository with

    git clone --recurse-submodules https://github.com/codelif/pawbar.git
    cd pawbar
    
  • Clone normally and checkout manually:

    git clone https://github.com/codelif/pawbar.git
    cd pawbar
    git submodule update --remote --init
    

A basic install script is there (you need to compile pawbar before running the script):

go build ./cmd/pawbar
./install.sh

Though fair caution it installs to /usr/local/bin

Note

I will add other installation methods when I am satisfied with this project.

Usage

Run bar by calling the bar script after using the install.sh script:

pawbar

By default the bar is configured with only a clock and a battery. You can add modules by editing $HOME/.config/pawbar/pawbar.yaml.

It has 18 modules (all customisable upto a certain extent,for now):

  • backlight: A screen brightness indicator (interactable)

  • battery: A battery module with dynamic icons and colors

  • bluetooth: A simple bluetooth conenction indicator (for now, without interactive menu)

  • clock: A simple date-time module (format changable on click, includes timeline-wide calendar)

  • cpu: CPU usage

  • custom: perform custom tasks, e.g. running at script, opening an app etc.

  • disk: Disk usage (format changable on click)

  • idleInhibitor: toggle screen off/lock actions as allowed/inhibited.

  • locale: Current locale

  • mpris: mpris player, with play/pause (interactable),artist,title.

  • powerprofiles: An interactable menu to choose Performance,Balanced,Power-saver mode from.

  • ram: RAM usage (format changable on click)

  • title: A window class & title display (hyprland/i3/sway)

  • sessioncontrols: An interactable menu to choose Reboot,PowerOff,Suspend,Logout from.

  • tray: tray using nm-applet (with menu)

  • volume: A Volume level indicator (interactable)

  • wifi: A simple wifi conenction indicator (without menu, interatable on clicks)

  • ws: A dynamic workspace switcher (hyprland/i3/sway) with (with mouse events) (change workspace on click)

  • space: A single space

  • sep: A full height vertical bar and a space on either side

A typical(my) config looks like:

left:
  - ws
  - title

right:
  - battery
  - space
  - sep
  - space
  - clock

Roadmap

  • Running
  • Modules and Services:
    • bluetooth (with menu)
    • tray (more functional)
    • workspace and title for more WMs
    • Suggest more
  • Extended module config
  • Extended bar config
  • Menu support

Contribution

Project is in very early stages, any contribution is very much appreciated.

About

A kitten-panel based desktop panel for your desktop

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages