Feat: Add section to README

Add reserved namespace and contributing sections to README, and revise
the entire document.
This commit is contained in:
Narvin Singh 2021-01-02 12:42:03 -05:00
parent 9af153d466
commit f2bdd47bec

View File

@ -11,17 +11,14 @@ The Daemon
The daemon creates a modular status bar by updating the X root window name The daemon creates a modular status bar by updating the X root window name
when it receives a request on its named pipe. It takes an ordered list of when it receives a request on its named pipe. It takes an ordered list of
modules as a parameter, and calls a function in each module to compute a modules as a parameter, and calls a function in each module to compute a
section of the status bar. Each section is cached and only recomputed upon section of the status bar when it receives a request to update that section.
request. These requests are made by writing to a named pipe that the daemon
creates, `/tmp/avdd-fifo`.
The Scheduler The Scheduler
------------- -------------
The scheduler creates requests by writing a module name to the named pipe for The scheduler creates requests by writing a module name to the named pipe
each module it wants the daemon to run to update that section of the status for each section of the status bar that it wants to daemon to update. It can
bar. It can send requests immediately, after some delay, or repeatedly at send requests immediately, after some delay, or repeatedly at some interval.
some interval.
Installation Installation
------------ ------------
@ -104,27 +101,41 @@ of the status bar (so it should be concise with no newline characters). Then
place your script in the `mod` directory. place your script in the `mod` directory.
To include your module output in the status bar, start the daemon with To include your module output in the status bar, start the daemon with
the module list parameter and include the name of your script in the the module list parameter and include the name of your module in the
list. For instance, if you wanted to have a status bar that consisited of list. For instance, if you wanted to have a status bar that consisited of
your hypothetical weather-wttr module followed by the date/time, you would your hypothetical weather-wttr module followed by the date/time, you would
start the daemon like this: `avdd 'weather-wttr dt' &`. start the daemon like this: `avdd 'weather-wttr dt' &`.
Please feel free to submit a pull request to have your module ### Reserved Module Names
included as part of this repo. And for inspiration and examples of
modules you might want to create, check out the bar-functions from Module names may not begin with `daem-` or `daem_` because this namespace
[dwm-bar](https://github.com/joestandring/dwm-bar), which this project draws is reserved for requests that the daemon understands natively. The daemon
heavily upon. Please note that those bar-functions are not compatible with implements the following native requests:
the akuma-v-dwm daemon, but they could very easily be modified to work with
this daemon. - `daem_all`
Update all status bar sections.
- `daem_quit`
Quit the daemon.
Commands Commands
-------- --------
In the `cmd` directory are shell scripts that perform actions that effect In the `cmd` directory are shell scripts that perform actions that effect and
the status bar and update the status bar, such as changing the backlight or update the status bar, such as changing the backlight or volume levels. These
volume levels. These commands can be bound to keys, so the action will be commands can be bound to keys, so the action will be carried out and the
carried out and the status bar will be updated when the key is pressed. status bar will be updated when the key is pressed.
Please feel free to submit a pull request to have your command included as Contributing
part of this repo. ------------
The goal of this project is to learn how to do neat things on Linux and
with shell scripts. A great way to do that is to just start hacking. So if
you have an ideas for how to improve the application, or want to share your
modules and commands, please submit a pull request. Don't by shy!
For inspiration and examples of modules you might want to create, check out
the bar-functions from [dwm-bar](https://github.com/joestandring/dwm-bar),
which this project draws heavily upon. Please note that those bar-functions
are not compatible with the akuma-v-dwm daemon, but they could very easily
be modified to work with this daemon.