Pawbar
A kitten-panel based desktop panel for your desktop
Install / Use
/learn @nekorg/PawbarREADME
pawbar
A kitten-panel based desktop panel for your desktop
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 pawbarClone 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 .
./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
- [x] 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.
Related Skills
node-connect
338.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
338.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.4kCommit, push, and open a PR
