docs: add store/source install + dev instructions, pin Node 26
This commit is contained in:
@@ -0,0 +1 @@
|
|||||||
|
26
|
||||||
@@ -18,55 +18,102 @@ This project aims to be a simple and easy to use DDC brightness control plugin f
|
|||||||
- Support for direct i2c or better ddc controllers (not ddcutil)
|
- Support for direct i2c or better ddc controllers (not ddcutil)
|
||||||
- You tell me
|
- You tell me
|
||||||
|
|
||||||
## Installation
|
## Requirements
|
||||||
|
|
||||||
(Examples use arch, but all packages should be available on other distros as well)
|
Regardless of how you install the extension, it shells out to
|
||||||
|
[ddcutil](https://www.ddcutil.com/) to talk to your monitors, so it is a hard
|
||||||
Be sure to have [ddcutil](https://www.ddcutil.com/) installed it is a hard requirement for now
|
requirement.
|
||||||
|
|
||||||
Also, if installing from source install just which is the chosen command runner for this project
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo pacman -Syu ddcutil just
|
sudo pacman -S ddcutil
|
||||||
```
|
```
|
||||||
|
|
||||||
Add your user to the i2c group so it can use i2c without root and reboot/login+out
|
Then add your user to the `i2c` group so `ddcutil` can talk to the bus without
|
||||||
|
root, and re-login (or reboot):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo usermod -aG i2c $USER
|
sudo usermod -aG i2c $USER
|
||||||
reboot
|
reboot
|
||||||
```
|
```
|
||||||
|
|
||||||
Now install the extension from version control
|
## Installation
|
||||||
(until we get to the gnome extension store)
|
|
||||||
|
|
||||||
```bash
|
Pick whichever method fits you. All three install the same extension — the
|
||||||
|
store and manager routes are the easiest, building from source gives you the
|
||||||
|
latest commits.
|
||||||
|
|
||||||
|
### 1. GNOME Extensions Website (easiest)
|
||||||
|
|
||||||
|
Head to the listing and click **Install**:
|
||||||
|
|
||||||
|
<https://extensions.gnome.org/extension/10312/ddc-brightness-controller/>
|
||||||
|
|
||||||
|
Clicking Install opens the browser connector. If prompted, install the
|
||||||
|
"Shell Extension Manager" browser extension for your browser, approve the
|
||||||
|
connection, and the extension installs straight into your running session.
|
||||||
|
|
||||||
|
### 2. GNOME Extensions Manager App
|
||||||
|
|
||||||
|
Search for **"DDC Brightness Controller"** in the
|
||||||
|
[Extensions](https://flathub.org/apps/details/com.mattjakeman.GNOME.Extensions)
|
||||||
|
app (from Flathub) and hit install. On X11 the same app also lets you install
|
||||||
|
directly from the website link above.
|
||||||
|
|
||||||
|
### 3. From Source (git clone)
|
||||||
|
|
||||||
|
Builds the extension locally and drops it into your user's extension dir.
|
||||||
|
Requires [just](https://github.com/casey/just) as the command runner.
|
||||||
|
|
||||||
|
Arch Linux:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo pacman -S git just
|
||||||
|
```
|
||||||
|
|
||||||
|
Clone and install:
|
||||||
|
|
||||||
|
```bash
|
||||||
git clone https://github.com/lucasoskorep/ddc-brightness-control
|
git clone https://github.com/lucasoskorep/ddc-brightness-control
|
||||||
cd ddc-brightness-control
|
cd ddc-brightness-control
|
||||||
just install
|
just install
|
||||||
```
|
```
|
||||||
|
|
||||||
|
After installing from source, enable it (toggle in the Extensions app, or):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
gnome-extensions enable ddcbrightness@lucaso.io
|
||||||
|
```
|
||||||
|
|
||||||
|
Re-login or restart the shell (`Alt+F2` → `r` on X11) to pick it up.
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
You need a couple of other things for development ideally
|
Building and debugging locally needs a few extra tools beyond the runtime
|
||||||
|
requirements above:
|
||||||
|
|
||||||
- uv
|
- `just` — the command runner
|
||||||
- fnm
|
- `fnm` — fast node version manager (the build runs on Node via pnpm)
|
||||||
|
- `uv` — python package manager (used by the schema-analysis helper)
|
||||||
|
- `glib2` — provides `glib-compile-schemas` for compiling the settings schema
|
||||||
|
|
||||||
|
Arch Linux:
|
||||||
|
|
||||||
### Installation
|
|
||||||
```bash
|
```bash
|
||||||
just install
|
sudo pacman -S just fnm uv glib2
|
||||||
```
|
```
|
||||||
|
|
||||||
### Linting
|
Set up the Node runtime with fnm (the pinned version lives in `.node-version`):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
just lint
|
fnm install
|
||||||
just lint-fix #(auto fixes what it can via eslint)
|
fnm use
|
||||||
```
|
```
|
||||||
|
|
||||||
### Debugging
|
Then:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
just live-debug
|
just install # install deps + build + drop into the extension dir
|
||||||
|
just lint # lint
|
||||||
|
just lint-fix # auto-fix what eslint can
|
||||||
|
just live-debug # tail gnome-shell logs while you poke at it
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user