Coder Social home page Coder Social logo

creek's Introduction

README

Creek is a dwm-inspired malleable and minimalist status bar for the River Wayland compositor. The implementation is a hard fork of version 0.1.3 of the levee status bar. Compared to levee, the main objective is to ease recombination and reuse by providing a simpler interface for adding custom information to the status bar. The original version of levee only provides builtin support for certain modules, these have to be written in Zig and compiled into levee. This fork pursues an alternative direction by allowing arbitrary text to be written to standard input of the status bar process, this text is then displayed in the status bar.

Additionally, the following new features have been added:

  • Support for tracking the current window title in the status bar
  • Highlighting of tags containing urgent windows (see xdg-activation)
  • Basic run-time configuration support via command-line flags

Screenshot

Screenshot of River with a creek status bar

The screenshot features three active tags: tag 2 is currently focused and has one active window, tag 4 is not focused but is occupied (i.e. has windows), and tag 9 has an urgent window. In the middle of the status bar, the current title of the selected window on the focused tag is displayed. On the right-hand side, the current time is shown, this is information is generated using date(1) (see usage example below).

Build

The following dependencies need to be installed:

Afterwards, creek can be build as follows

$ git clone https://git.8pit.net/creek.git
$ cd creek
$ zig build

Configuration

This version of creek can be configured using several command-line options:

  • -fn: The font used in the status bar
  • -hg: The total height of the status bar
  • -nf: Normal foreground color
  • -nb: Normal background color
  • -ff: Foreground color for focused tags
  • -fb: Background color for focused tags

Example:

$ creek -fn Terminus:size=12 -hg 18 -nf 0xffffff -nb 0x000000

Usage Example

In order to display the current time in the top-right corner, invoke creek as follows:

$ ( while date; do sleep 1; done ) | creek

Note that for more complex setups, a shell script may not be the best option.

creek's People

Contributors

nmeum avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

creek's Issues

scaled output messes up bar

Thanks for tagging a new release, and allowing build with 0.12 zig.
I build and tried this on void linux, and it looks and feels quite nice.

One issue I encounter is that, for scaled output, the bar is messed up,
namely there's one more black bar below it.
By scaled, I mean wlr-randr --output eDP-1 --scale 2 in river init.
Also, it'd be nice to have a -Dpie configure option, to produce pie executables.

Finally, what are your thoughts about implementing a config file?
instead of piping the output and/or poling frequently, the config file could contain
the actual command(s) I want to run, e.g date '+%a %Y-%m-%d %H:%M',
and their polling time, e.g. 5s,
as well as possibly the various options for font, color, etc,
similar to dwm but without the need to rebuild it.

Systray?

Are there any plans for systray support? Would it be possible to have a systray?

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.