Include the updated desktop screenshot, active-monitor screenshot capture and editor locking, and Settings window drag areas.
69 lines
2.8 KiB
Markdown
69 lines
2.8 KiB
Markdown
# Installation
|
||
|
||
## Build and install
|
||
|
||
On Fedora with SDDM, install a Rust toolchain (1.95 or newer), native build
|
||
dependencies, `desktop-file-utils`, D-Bus and `foot`. Wallpaper browsing also
|
||
needs `zenity`; locking needs swaylock or swaylock-effects.
|
||
Screenshots need `grim`, `slurp`, `satty`, `wl-clipboard`, and Python 3.
|
||
Print Screen captures the active monitor; Super+Shift+S selects an area.
|
||
Use `ferese-screenshot --all` to capture all monitors in one image.
|
||
|
||
Clone the repository, then run the installer as your normal user:
|
||
|
||
```sh
|
||
git clone https://github.com/borngraced/ferese.git
|
||
cd ferese
|
||
./scripts/install.sh
|
||
```
|
||
|
||
The script builds locked release binaries, then requests elevation to install.
|
||
It preserves your configuration and other desktop sessions. Log out and select
|
||
**Ferese** at the login screen. Upgrades require logging out and back in too.
|
||
|
||
```sh
|
||
./scripts/install.sh --dry-run
|
||
./scripts/install.sh --offline --release-id my-build
|
||
./scripts/install.sh --skip-build
|
||
```
|
||
|
||
Use `--help` for all options. New configs can be copied from
|
||
`/usr/local/lib/ferese/current/config.example.kdl` to
|
||
`~/.config/ferese/config.kdl`. See [Configuration](configuration.md).
|
||
|
||
## Preview and logs
|
||
|
||
To preview a source build before installing, run these commands from the checkout
|
||
inside an existing Wayland desktop:
|
||
|
||
```sh
|
||
cargo build --release --locked -p ferese -p ferese-shell -p ferese-settings -p feresectl
|
||
target/release/ferese --backend nested --grant-effects --grant-shell-control -- \
|
||
target/release/ferese-shell
|
||
```
|
||
|
||
|
||
Run `ferese-session --nested` inside an existing Wayland desktop. For a hardware
|
||
session, use the login screen or a spare TTY; never run Ferese as root or start
|
||
its DRM backend inside an active graphical session.
|
||
|
||
Logs are stored in `${XDG_STATE_HOME:-~/.local/state}/ferese/`. Keep an existing
|
||
desktop available while testing scaling, monitor hotplug, suspend and locking.
|
||
|
||
The session launcher enables the screencopy protocol for screenshot tools.
|
||
Set `FERESE_ENABLE_SCREENCOPY=0` in the session environment to disable it.
|
||
When enabled, Wayland clients can capture the unlocked desktop. Capture remains
|
||
blocked while the session is locked. Launcher changes take effect at next login.
|
||
|
||
## Logout and recovery
|
||
|
||
Save your work before **Super+Shift+E** or `feresectl exit`: logout is immediate.
|
||
If frozen, switch to another TTY with Ctrl+Alt+F1–F12, terminate the specific
|
||
Ferese process, and select your other desktop on the next login. Restarting SDDM
|
||
also ends other sessions, so avoid it with unsaved work.
|
||
|
||
Installed binaries live in `/usr/local/lib/ferese/releases/`. While Ferese is
|
||
stopped, select a retained release with the `current` symlink; `previous` points
|
||
to the prior installation. To hide the session option, move
|
||
`/usr/share/wayland-sessions/ferese.desktop` out of that directory.
|