Skip to content

Commit

Permalink
Revamp README.md, increment version number
Browse files Browse the repository at this point in the history
  • Loading branch information
nicohman committed Jul 25, 2018
1 parent 68e1170 commit d4587c9
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 10 deletions.
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "raventhemer"
version = "1.1.0"
version = "1.2.0"
authors = ["nicohman <[email protected]>"]
repository="https://github.com/nicohman/raven"
description="A theme manager and switcher for desktop linux"
Expand Down
32 changes: 23 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# Raven

A theme manager for linux, currently focusing on i3. Supports multiple different configuration files, and is fast and portable.

## Installation
All you technically require is [cargo](https://github.com/rust-lang/cargo) to be installed.
You can install by running `cargo install raventhemer`, or by building manually:
All you technically require is [cargo](https://github.com/rust-lang/cargo) to be installed.
You can install from [crates.io](https://crates.io/crates/raventhemer) by running `cargo install raventhemer`, or by building manually:

Run:

Expand All @@ -29,9 +30,15 @@ The following packages are required for their relevant options:

+ [Ncmpcpp](https://github.com/arybczak/ncmpcpp) : `ncmpcpp`

+ [Openbox](https://github.com/danakj/openbox) : `openbox`

+ [Rofi](https://github.com/DaveDavenport/rofi) is used in the default config and is recommended.


You can also download a prebuilt binary from [here](https://github.com/nicohman/raven/releases)

## Usage

`raven help` for a list of available commands:
```Commands:
help : show this screen
Expand All @@ -40,38 +47,45 @@ new [theme] : create a new theme
delete [theme] : delete a theme
refresh : load last loaded theme
edit [theme] : initialize editing [theme]
import [archive] : import an exported theme
export [theme] : export target theme to a tarball
modify [option] : open the currently edited themes's [option] in $EDITOR
add [option] [file] : add option to current theme
cycle {{check|start|stop}} : manage theme cycling daemon
rm [option] : remove option from current theme
info : print info about the theme being currently edited
menu : show theme menu
```

## Configuration
A main config file is placed in ~/.config/raven/config, which has two options:
A main config file is placed in ~/.config/raven/config.json, which has the following options:
```
window_manager: |[window manager in use. Currently only i3 is supported.]|
monitor : |number of monitors available, to tell how many polybars to dupe.|
polybar: Array of strings, which decideds what bars are run with polybar. The size of the array should be the same as your monitor number
monitors : The number of monitors currently in use
menu_command: A command that, when raven menu is run, will be piped a list of theme names through STDIN and expects a theme name from STDOUT
last: The last theme raven loaded
editing: The theme you are currently editing
```

To configure a theme, start off by creating it with `raven new [theme]`. You'll automatically start editing that theme. Run `raven add [option] [file]` to add a specific option. This will copy the indicated file to raven's registry, and run/reload/copy it when the edited theme is loaded or refreshed. Run `raven rm [option]` to remove an option from a theme. Available options are:

+ poly(Polybar)
+ termite(Termite config)
+ wm(window manager config)
+ i3(i3 config)
+ wall(Wallpaper)
+ xres(Xresources)
+ xres\_m(Xresources, to be merged)
+ ranger(rc.conf)
+ lemonbar(A shell script that should spawn your lemonbar)
+ ncmpcpp(ncmpcpp connfig file)
+ ncmpcpp(ncmpcpp config file)
+ Openbox(rc.xml)

If you place an i3 config named base\_i3 in ~/.config/raven, the contents of wm for a theme will be appended to it instead of being run on their own. This allows you to have a central config for keyboard shortcuts, and have cosmetics only be stored in the theme.
If you place an i3 config named base\_i3 in ~/.config/raven, the contents of i3 for a theme will be appended to it instead of being run on their own. This allows you to have a central config for keyboard shortcuts, and have cosmetics only be stored in the theme. This also applies for a file named base\_rc.xml, for openbox.

The lemonbar option should be a shell script that runs lemonbar(s). They will automatically be killed just like polybars when the theme is changed or reloaded.

### Polybar bar names
Up to two polybars will be started, depending on how many monitors you have configured. The bars should be named, in order: `main` and `other`
As many polybars as you have monitors will be started. The names of the bars themselves should be configured in `config.json`. The default is ["main", "other"]

### Cycle themes

Expand Down

0 comments on commit d4587c9

Please sign in to comment.