Code Monkey home page Code Monkey logo

swaystatus's Introduction

swaystatus

Status command for i3bar/swaybar written in async rust. Based on i3status-rust.

Blocks documentation

Formatting documentation

Compatibility

Refer to #4 for i3status-rust compatibility.

Differences

Blocks

Music

While it lacks many configuration options, music block allows switching between different players with mouse wheel.

Enhanced clicks handling abilities

Each block supports multiple click options to handle blocks' clicks.

Example:

[[block]]
block = "time"
[[block.click]]
button = "left" # Which button to handle
cmd = "kitty" # The shell command to run
sync = false # Whether to wait for command to finish before proceeding (default is false)
update = true # Whether to update the block after click (default is true)

There is also an experimental support for double clicks:

[[block]]
block = "time"
[[block.click]]
button = "double_left"
cmd = "alacritty"

Hsv color support

It is possible to specify theme's colors in HSV color space instead of RGB. The format is "hsv:<hue>:<saturation>:<value>[:<alpha>]", where hue is in range 0..360, saturation value and alpha are in range 0..=100.

[theme]
name = "modern"
[theme.overrides]
idle_bg = "hsv:190:60:30"

swaystatus's People

Contributors

ammgws avatar farwayer avatar maxverevkin avatar remi-dupre avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

picojr ammgws

swaystatus's Issues

Error in battery: Failed to read 'power_now'.

From time to time, when connecting / disconnecting power supply to the laptop, an error occurs Error in battery: Failed to read 'power_now'. (Cause: No such device (os error 19))

i3status-rust compatibility

Fully compatible ✔️
Not implemented
Partially implemented 🕒
Complete but incompatible 🔵
Block State Notes
apt ✔️
backlight ✔️
battery 🕒 greshake/i3status-rust#1383 greshake/i3status-rust#1378
bluetooth ✔️ Use format flags instead of different format strings
cpu ✔️
custom ✔️
custom_dbus 🔵 The original protocol couldn't handle multiple blocks at once
disk_space ✔️
dnf ✔️
docker ✔️
external_ip ✔️
focused_window 🔵 More advanced formatting
github ✔️
hueshift ✔️ Docs are incomplete
ibus
kdeconnect 🕒 Doesn't support old version
keyboard_layout 🕒 Everything except kbdd (unable to get it work on my machine), greshake/i3status-rust#1386
load ✔️
maildir ✔️
memory ✔️
music 🕒
net 🕒 no ip(6), bitrate and hide_(missing/inactive)
networkmanager
notify ✔️
notmuch ✔️
nvidia_gpu
pacman ✔️
pomodoro 🔵 Interactive configuration
rofication ✔️
sound ✔️
speedtest ✔️
taskwarrior ✔️ Experimentally use format flags instead of format, format_singular and format_everything_done
temperature ✔️
time ✔️
toggle ✔️
uptime ✔️
watson ✔️
weather ✔️
xrandr ✔️

Create upstream branch

It might be a good idea to create an async branch upstream and continue the work there. Lately we've got some new contributors, and in general there are more eyes over there that could possibly help out. What do you think?

Battery block simplifiaction

Once inotify is used to monitor the battery state, will there still be any reasons to use upower driver over sysfs?

Removing upower driver will remove async_trait dependency and make the block's code generally simpler.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.