-
Notifications
You must be signed in to change notification settings - Fork 44
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
1c032ae
commit 58d55db
Showing
16 changed files
with
1,727 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
name: Sync Wiki | ||
|
||
on: | ||
push: | ||
branches: [ "master" ] | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Sync Wiki | ||
uses: joeizzard/action-wiki-sync@master | ||
with: | ||
username: JakeStanger | ||
access_token: ${{ secrets.GITHUB_TOKEN }} | ||
wiki_folder: docs | ||
commit_username: 'Jake Stanger' | ||
commit_email: 'mail@jstanger.dev' | ||
commit_message: 'sync wiki from main repo' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,268 @@ | ||
By default, you get a single bar at the bottom of all your screens. | ||
To change that, you'll unsurprisingly need a config file. | ||
|
||
## 1. Create config file | ||
|
||
The config file lives inside the `ironbar` directory in your XDG_CONFIG_DIR, which is usually `~/.config/ironbar`. | ||
|
||
Ironbar supports a range of configuration formats, so you can pick your favourite: | ||
|
||
- `config.json` | ||
- `config.toml` | ||
- `config.yaml` | ||
- `config.corn` (Experimental, includes variable support for re-using blocks. | ||
See [here](https://github.com/jakestanger/corn) for info) | ||
|
||
You can also override the default config path using the `IRONBAR_CONFIG` environment variable. | ||
|
||
## 2. Pick your use-case | ||
|
||
Ironbar gives you a few ways to configure the bar to suit your needs. | ||
This allows you to keep your config simple and relatively flat if your use-case is simple, | ||
and make it more complex if required. | ||
|
||
### a) I want the same bar across all monitors | ||
|
||
Place the bar config inside the top-level object. This is automatically applied to each of your monitors. | ||
|
||
<details> | ||
<summary>JSON</summary> | ||
|
||
```json | ||
{ | ||
"position": "bottom", | ||
"height": 42, | ||
"start": [], | ||
"center": [], | ||
"end": [] | ||
} | ||
``` | ||
|
||
</details> | ||
|
||
<details> | ||
<summary>TOML</summary> | ||
|
||
```toml | ||
position = "bottom" | ||
height = 42 | ||
start = [] | ||
center = [] | ||
end = [] | ||
``` | ||
|
||
</details> | ||
|
||
<details> | ||
<summary>YAML</summary> | ||
|
||
```yaml | ||
position: "bottom" | ||
height: 42 | ||
start: [ ] | ||
center: [ ] | ||
end: [ ] | ||
``` | ||
</details> | ||
<details> | ||
<summary>Corn</summary> | ||
``` | ||
{ | ||
position = "bottom" | ||
height = 42 | ||
start = [] | ||
center = [] | ||
end = [] | ||
} | ||
``` | ||
|
||
</details> | ||
|
||
### b) I want my config to differ across one or more monitors | ||
|
||
Create a map/object called `monitors` inside the top-level object. | ||
Each of the map's keys should be an output name, | ||
and each value should be an object containing the bar config. | ||
|
||
To find your output names, run `wayland-info | grep wl_output -A1`. | ||
|
||
<details> | ||
<summary>JSON</summary> | ||
|
||
```json | ||
{ | ||
"monitors": { | ||
"DP-1": { | ||
"start": [] | ||
}, | ||
"DP-2": { | ||
"position": "bottom", | ||
"height": 30, | ||
"start": [] | ||
} | ||
} | ||
} | ||
``` | ||
|
||
</details> | ||
|
||
<details> | ||
<summary>TOML</summary> | ||
|
||
```toml | ||
[monitors] | ||
|
||
[monitors.DP-1] | ||
start = [] | ||
|
||
[monitors.DP-2] | ||
position = "bottom" | ||
height = 30 | ||
start = [] | ||
``` | ||
|
||
</details> | ||
|
||
<details> | ||
<summary>YAML</summary> | ||
|
||
```yaml | ||
monitors: | ||
DP-1: | ||
start: [ ] | ||
DP-2: | ||
position: "bottom" | ||
height: 30 | ||
start: [ ] | ||
``` | ||
</details> | ||
<details> | ||
<summary>Corn</summary> | ||
``` | ||
{ | ||
monitors.DP-1.start = [] | ||
monitors.DP-2 = { | ||
position = "bottom" | ||
height = 30 | ||
start = [] | ||
} | ||
} | ||
``` | ||
|
||
</details> | ||
|
||
### c) I want one or more monitors to have multiple bars | ||
|
||
Create a map/object called `monitors` inside the top-level object. | ||
Each of the map's keys should be an output name. | ||
If you want the screen to have multiple bars, use an array of bar config objects. | ||
If you want the screen to have a single bar, use an object. | ||
|
||
To find your output names, run `wayland-info | grep wl_output -A1`. | ||
|
||
<details> | ||
<summary>JSON</summary> | ||
|
||
```json | ||
{ | ||
"monitors": { | ||
"DP-1": [ | ||
{ | ||
"start": [] | ||
}, | ||
{ | ||
"position": "top", | ||
"start": [] | ||
} | ||
], | ||
"DP-2": { | ||
"position": "bottom", | ||
"height": 30, | ||
"start": [] | ||
} | ||
} | ||
} | ||
``` | ||
|
||
</details> | ||
|
||
<details> | ||
<summary>TOML</summary> | ||
|
||
```toml | ||
[monitors] | ||
|
||
[[monitors.DP-1]] | ||
start = [] | ||
|
||
[[monitors.DP-2]] | ||
position = "top" | ||
start = [] | ||
|
||
[monitors.DP-2] | ||
position = "bottom" | ||
height = 30 | ||
start = [] | ||
``` | ||
|
||
</details> | ||
|
||
<details> | ||
<summary>YAML</summary> | ||
|
||
```yaml | ||
monitors: | ||
DP-1: | ||
- start: [ ] | ||
- position: "top" | ||
start: [ ] | ||
DP-2: | ||
position: "bottom" | ||
height: 30 | ||
start: [ ] | ||
``` | ||
</details> | ||
<details> | ||
<summary>Corn</summary> | ||
``` | ||
{ | ||
monitors.DP-1 = [ | ||
{ start = [] } | ||
{ position = "top" start = [] } | ||
] | ||
monitors.DP-2 = { | ||
position = "bottom" | ||
height = 30 | ||
start = [] | ||
} | ||
} | ||
``` | ||
|
||
</details> | ||
|
||
## 3. Write your bar config(s) | ||
|
||
Once you have the basic config structure set up, it's time to actually configure your bar(s). | ||
|
||
The following table describes each of the top-level bar config options. | ||
For details on available modules and each of their config options, check the sidebar. | ||
|
||
| Name | Type | Default | Description | | ||
|-------------------|----------------------------------------|----------|-----------------------------------------------------------------------------------------| | ||
| `position` | `top` or `bottom` or `left` or `right` | `bottom` | The bar's position on screen. | | ||
| `anchor_to_edges` | `boolean` | `false` | Whether to anchor the bar to the edges of the screen. Setting to false centres the bar. | | ||
| `height` | `integer` | `42` | The bar's height in pixels. | | ||
| `start` | `Module[]` | `[]` | Array of left or top modules. | | ||
| `center` | `Module[]` | `[]` | Array of center modules. | | ||
| `end` | `Module[]` | `[]` | Array of right or bottom modules. | | ||
|
||
Check [here](config) for an example config file for a fully configured bar in each format. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
Welcome to the Ironbar wiki. | ||
|
||
Detail about each module, and their configuration and styling options can be found on the sidebar. | ||
You can also find an example configuration and stylesheet there. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
Ironbar ships with no styles by default, so will fall back to the default GTK styles. | ||
|
||
To style the bar, create a file at `~/.config/ironbar/style.css`. | ||
|
||
Style changes are hot-loaded so there is no need to reload the bar. | ||
|
||
A reminder: since the bar is GTK-based, it uses GTK's implementation of CSS, | ||
which only includes a subset of the full web spec (plus a few non-standard properties). | ||
|
||
The below table describes the selectors provided by the bar itself. | ||
Information on styling individual modules can be found on their pages in the sidebar. | ||
|
||
| Selector | Description | | ||
|----------------|-------------------------------------------| | ||
| `.background` | Top-level window | | ||
| `#bar` | Bar root box | | ||
| `#bar #start` | Bar left or top modules container box | | ||
| `#bar #center` | Bar center modules container box | | ||
| `#bar #end` | Bar right or bottom modules container box | | ||
| `.container` | All of the above | |
Oops, something went wrong.