All Projects → altdesktop → i3-dstatus

altdesktop / i3-dstatus

Licence: other
Another great statusline generator for i3wm

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Labels

Projects that are alternatives of or similar to i3-dstatus

i3-workspace-switcher
MRU (Most recently used) workspace switcher for i3 window manager
Stars: ✭ 20 (-42.86%)
Mutual labels:  i3, i3wm
i3blocks-gate
Extra i3blocks Scripts For arch Ubuntu very simple and very useful -
Stars: ✭ 42 (+20%)
Mutual labels:  i3, i3wm
Autotiling
Script for sway and i3 to automatically switch the horizontal / vertical window split orientation
Stars: ✭ 243 (+594.29%)
Mutual labels:  i3, i3wm
Nwg Launchers
GTK-based launchers: application grid, button bar, dmenu for sway and other window managers
Stars: ✭ 211 (+502.86%)
Mutual labels:  i3, i3wm
dotfiles
My main working machine setup. Here be cyber dragons, and optional bugs.
Stars: ✭ 35 (+0%)
Mutual labels:  i3, i3wm
I3 Gaps Deb
Tool to create and install Debian (or Ubuntu) packages of i3-gaps.
Stars: ✭ 236 (+574.29%)
Mutual labels:  i3, i3wm
hax
Zero-config Hacky Hackpecker setup
Stars: ✭ 16 (-54.29%)
Mutual labels:  i3, i3wm
I3 Wm Gruvbox Theme
An i3-wm gruvbox theme implementation
Stars: ✭ 188 (+437.14%)
Mutual labels:  i3, i3wm
negi3wm
Brings a lot of unique UX features inspired by ion3/notion wm. Probably the most sophisticated example of i3ipc usage ever created
Stars: ✭ 27 (-22.86%)
Mutual labels:  i3, i3wm
i3-timer
⏰ A simple timer for the i3 window manager
Stars: ✭ 34 (-2.86%)
Mutual labels:  i3, i3wm
I3wm Config
my i3wm config
Stars: ✭ 196 (+460%)
Mutual labels:  i3, i3wm
dotfiles
A total nord dotfiles used by me. Forever work in progress.
Stars: ✭ 35 (+0%)
Mutual labels:  i3, i3wm
Luastatus
universal status bar content generator
Stars: ✭ 195 (+457.14%)
Mutual labels:  i3, i3wm
no-mans-sky-rice-i3wm
i3WM rice themed using No Man's Sky's colors
Stars: ✭ 34 (-2.86%)
Mutual labels:  i3, i3wm
I3 Battery Popup
A script that shows warning messages to the user when the battery is almost empty. For i3wm users.
Stars: ✭ 190 (+442.86%)
Mutual labels:  i3, i3wm
i3altlayout
i3wm efficient screen real estate
Stars: ✭ 40 (+14.29%)
Mutual labels:  i3, i3wm
I3 Gnome Pomodoro
🍅 Integrate gnome-pomodoro into i3
Stars: ✭ 159 (+354.29%)
Mutual labels:  i3, i3wm
Dotfiles
My [NeoVim + Tmux + Fish Shell] Setup /w install scripts
Stars: ✭ 180 (+414.29%)
Mutual labels:  i3, i3wm
i3blocks-airpods
i3blocks script for managing airpods and airpods pro.
Stars: ✭ 61 (+74.29%)
Mutual labels:  i3, i3wm
dotfiles
My dotfiles, with an out-of-date install-script. Arch, Tiling WM (i3, sway), ZSH, Neovim
Stars: ✭ 20 (-42.86%)
Mutual labels:  i3, i3wm

i3-dstatus

The ultimate DIY statusline generator for i3wm.

About

i3-dstatus is a statusline generator for i3 that you can use to display system information you may be interested in. i3 comes with i3status which has many limitations. It has no plugin interface. It has no support for events and relies on polling for all its information, which makes it surprisingly heavy on resources. It has a weird config file format that makes it difficult to configure.

Other projects have come along to make up for these weaknesses and many of them do a great job. i3-dstatus is for users who want a more flexible statusline that can be achieved from editing options in a configuration file but without having to learn a complicated plugin api to create custom statusline entries.

This is accomplished by allowing users to update the statusline through interprocess communication using DBUS. i3-dstatus exposes a DBUS service that you can use to update the statusline simply in pretty much any programming language and from any process (maybe even in a cron!).

  • No configuration file is required
  • Update the statusline from multiple processes
  • Update the statusline from any language (even from the command line!)
  • No complicated plugin api to learn

Chat

Installing

i3-dstatus is on PyPI.

pip install i3-dstatus

Usage

Use i3-dstatus as your status command in your bar block like so:

bar {
    status_command i3-dstatus clock
}

Pass the path of statusline generator scripts you want to run as arguments to i3-dstatus. Passing a relative path will start the script from the generators included with i3-dstatus from the generator path. Using an absolute path or a ~/ home relative path will call the appropriate path. The blocks will appear on i3bar in the order the generators were given on the command line.

Configuration

Generator scripts will look for ~/.i3-dstatus.conf for configuration options. See i3-dstatus.conf in the repo for an example. The configuration file should be a single YAML object. (More documentation to come).

Updating the Statusline

The dbus service exposes the method show_block to update the statusline. This method takes a dict of variants. Pass an object that conforms to the i3bar input protocol to show a block.

You can clear a block by omitting the "full_text" member or setting it to the empty string.

You can update the statusline from a python script. Just use a script like this:

from dbus_next.aio import MessageBus
from dbus_next import Variant

bus = await MessageBus().connect()
introspection = await bus.introspect('com.dubstepdish.i3dstatus', '/com/dubstepdish/i3dstatus')
obj = bus.get_proxy_object('com.dubstepdish.i3dstatus', '/com/dubstepdish/i3dstatus')
i3dstatus = obj.get_interface('com.dubstepdish.i3dstatus')
await i3dstatus.call_show_block({
    'name': Variant('s', 'test'),
    'full_text': Variant('s', 'hello world')
})

You can update the statusline from any language with dbus bindings (which is pretty much all of them). You can even update the statusline from the command line!

dbus-send --session \
    --dest=com.dubstepdish.i3dstatus \
    --type=method_call \
    /com/dubstepdish/i3dstatus \
    com.dubstepdish.i3dstatus.show_block \
    dict:string:string:name,test,full_text,'hello world'

Contributing

Please report bugs, request feature, write documentation, and add generators to the i3dstatus/generators directory. i3-dstatus is a community project so feedback is welcome!

License

This work is available under a FreeBSD License (see LICENSE).

Copyright © 2014, Tony Crisci

All rights reserved.

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].