All Projects → francma → Wob

francma / Wob

Licence: isc
A lightweight overlay volume/backlight/progress/anything bar for Wayland.

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Wob

Slurp
Select a region in a Wayland compositor
Stars: ✭ 350 (+14.38%)
Mutual labels:  cli, wayland
Grim
Grab images from a Wayland compositor
Stars: ✭ 533 (+74.18%)
Mutual labels:  cli, wayland
Mako
A lightweight Wayland notification daemon
Stars: ✭ 944 (+208.5%)
Mutual labels:  cli, wayland
Mnamer
media file renamer and organizion tool
Stars: ✭ 299 (-2.29%)
Mutual labels:  cli
Spotui
Spotify in the terminal 💻🎶
Stars: ✭ 302 (-1.31%)
Mutual labels:  cli
Frankenstein
Correct README Redirects
Stars: ✭ 305 (-0.33%)
Mutual labels:  cli
Farge
Click on a pixel on your screen and show its color value
Stars: ✭ 307 (+0.33%)
Mutual labels:  wayland
Torrentflix
Nodejs cli app to search torrent sites and stream using peerflix
Stars: ✭ 298 (-2.61%)
Mutual labels:  cli
Php Watcher
Monitor for any changes in your php application and automatically restart it (suitable for async apps).
Stars: ✭ 303 (-0.98%)
Mutual labels:  cli
Create Node Cli
📟 CLI to create new Node.js CLI applications in minutes not hours.
Stars: ✭ 304 (-0.65%)
Mutual labels:  cli
Markserv
🏁 serve markdown as html (GitHub style), index directories, live-reload as you edit
Stars: ✭ 304 (-0.65%)
Mutual labels:  cli
Jinja2 Cli
CLI for Jinja2
Stars: ✭ 302 (-1.31%)
Mutual labels:  cli
Bullet
🚅 Interactive prompts made simple. Build a prompt like stacking blocks.
Stars: ✭ 3,257 (+964.38%)
Mutual labels:  cli
Reviewdog
🐶 Automated code review tool integrated with any code analysis tools regardless of programming language
Stars: ✭ 4,541 (+1383.99%)
Mutual labels:  cli
Rawkit
🦊 Immediately Open Chrome DevTools when debugging Node.js apps
Stars: ✭ 306 (+0%)
Mutual labels:  cli
Scmpuff
🔢 Numeric file shortcuts for common git commands
Stars: ✭ 299 (-2.29%)
Mutual labels:  cli
Ludusavi
Backup tool for PC game saves
Stars: ✭ 301 (-1.63%)
Mutual labels:  cli
Wdisplays
GUI display configurator for wlroots compositors
Stars: ✭ 302 (-1.31%)
Mutual labels:  wayland
To lang
Translate Ruby strings and arrays with Google Translate.
Stars: ✭ 303 (-0.98%)
Mutual labels:  cli
Brightnessctl
A program to read and control device brightness
Stars: ✭ 306 (+0%)
Mutual labels:  wayland

wob — Wayland Overlay Bar

Build Status

preview

A lightweight overlay volume/backlight/progress/anything bar for wlroots based Wayland compositors (requrires support for wlr_layer_shell_unstable_v1). This project is inspired by xob - X Overlay Bar.

Release signatures

Releases are signed with 5C6DA024DDE27178073EA103F4B432D5D67990E3 and published on GitHub.

Installation

Compiling from source

Install dependencies:

  • wayland
  • wayland-protocols *
  • meson *
  • scdoc (optional: man page) *
  • libseccomp (optional: Linux kernel syscall filtering) *

* compile-time dependecy

Run these commands:

git clone [email protected]:francma/wob.git
cd wob
meson build
ninja -C build
sudo ninja -C build install

From packages

Packaging status

Usage

Launch wob in a terminal, enter a value (positive integer), press return.

wob

General case

You may manage a bar for audio volume, backlight intensity, or whatever, using a named pipe. Create a named pipe, e.g. /tmp/wobpipe, on your filesystem using.

mkfifo /tmp/wobpipe

Connect the named pipe to the standard input of an wob instance.

tail -f /tmp/wobpipe | wob

Set up your environment so that after updating audio volume, backlight intensity, or whatever, to a new value like 43, it writes that value into the pipe:

echo 43 > /tmp/wobpipe

Adapt this use-case to your workflow (scripts, callbacks, or keybindings handled by the window manager).

See man page for styling and positioning options.

Sway WM example

Add these lines to your Sway config file:

exec mkfifo $SWAYSOCK.wob && tail -f $SWAYSOCK.wob | wob

Volume using alsa:

bindsym XF86AudioRaiseVolume exec amixer sset Master 5%+ | sed -En 's/.*\[([0-9]+)%\].*/\1/p' | head -1 > $SWAYSOCK.wob
bindsym XF86AudioLowerVolume exec amixer sset Master 5%- | sed -En 's/.*\[([0-9]+)%\].*/\1/p' | head -1 > $SWAYSOCK.wob
bindsym XF86AudioMute exec amixer sset Master toggle | sed -En '/\[on\]/ s/.*\[([0-9]+)%\].*/\1/ p; /\[off\]/ s/.*/0/p' | head -1 > $SWAYSOCK.wob

Volume using pulse audio:

bindsym XF86AudioRaiseVolume exec pamixer -ui 2 && pamixer --get-volume > $SWAYSOCK.wob
bindsym XF86AudioLowerVolume exec pamixer -ud 2 && pamixer --get-volume > $SWAYSOCK.wob
bindsym XF86AudioMute exec pamixer --toggle-mute && ( pamixer --get-mute && echo 0 > $SWAYSOCK.wob ) || pamixer --get-volume > $SWAYSOCK.wob

Brightness using haikarainen/light:

bindsym XF86MonBrightnessUp exec light -A 5 && light -G | cut -d'.' -f1 > $SWAYSOCK.wob
bindsym XF86MonBrightnessDown exec light -U 5 && light -G | cut -d'.' -f1 > $SWAYSOCK.wob

Brightness using brightnessctl:

bindsym XF86MonBrightnessDown exec brightnessctl set 5%- | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $SWAYSOCK.wob
bindsym XF86MonBrightnessUp exec brightnessctl set +5% | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > $SWAYSOCK.wob

See the wiki for useful scripts.

License

ISC, see LICENSE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].