Files
feresaria/README.md
T

119 lines
5.8 KiB
Markdown

<p align="center">
<img src="assets/branding/ferese.svg" width="160" height="160" alt="Ferese">
</p>
<p align="center"><strong>A configurable Wayland desktop</strong></p>
<p align="center">
<a href="https://github.com/ferese-wm/ferese/releases">Download</a> ·
<a href="https://github.com/ferese-wm/ferese/wiki/Installation">Install</a> ·
<a href="https://github.com/ferese-wm/ferese/wiki/Configuration">Configure</a> ·
<a href="https://github.com/ferese-wm/ferese/wiki">Documentation</a>
</p>
Ferese is a Linux desktop built in Rust with Smithay. It includes a window manager,
desktop shell, Settings and a lock screen, with shared configuration and theming.
Choose a layout per workspace and configure the desktop through Settings or a KDL file.
**Version 0.1.0** is the first stable release. See the [release notes](docs/releases/v0.1.0.md)
for what's included. Packages target Fedora 44 and Arch Linux on x86_64.
This README and the wiki describe `main`.
This local `twilight/rime-service-poc` branch adds an independent native Wayland
Rime service and compositor popup fixes. See [Rime prototype validation](docs/development/rime-poc.md)
for its architecture, isolated preview, test commands and current limits.
![Ferese desktop with the launcher, build progress, Appearance settings and terminal windows](docs/images/screenshots/ferese-desktop.png)
[Screenshots](https://github.com/ferese-wm/ferese/wiki/Screenshots)
## Using Ferese
- Use scrolling columns, tree tiling, floating windows and
[tabbed window groups](https://github.com/ferese-wm/ferese/wiki/Tabbed-Windows).
- Arrange [panel items and groups](https://github.com/ferese-wm/ferese/wiki/Panel-Configuration),
place the panel at the top or bottom, and choose its style.
- Follow command and build progress in the panel with
[Live Activities](https://github.com/ferese-wm/ferese/wiki/Live-Activities).
- Set up [binding modes](https://github.com/ferese-wm/ferese/wiki/Configuration-Bindings#binding-modes)
for resizing, launching apps and other shortcut groups.
- Change themes, wallpapers, blur and animation settings across the desktop.
Configuration edits apply live. Invalid edits leave the last working configuration active.
- Manage displays, Wi-Fi, Bluetooth and audio from Settings and Control Center.
Multiple monitors, fractional scaling and monitor mirroring are supported.
- Annotate screenshots, share a window, workspace or display, and record a monitor or selected
region with audio.
The [feature roadmap](https://github.com/ferese-wm/ferese/issues/5) tracks implemented features and remaining work.
## Install
Download the package for your distribution from
[Releases](https://github.com/ferese-wm/ferese/releases/tag/v0.1.0), then follow
the [package installation instructions](https://github.com/ferese-wm/ferese/wiki/Packages-and-Releases#install-a-release-package).
Read the [release notes](docs/releases/v0.1.0.md) before upgrading.
To build the current development version, install the
[build dependencies](https://github.com/ferese-wm/ferese/wiki/Installation#requirements)
and run these commands as your normal user:
```sh
git clone https://github.com/ferese-wm/ferese.git
cd ferese
./scripts/install.sh
```
Once installed, log out and select **Ferese** at your login screen, or run
`ferese-session` from a local TTY. You can also try a
[nested preview](https://github.com/ferese-wm/ferese/wiki/Installation#preview-and-logs)
inside your existing Wayland desktop.
## Configure
Open **Control Center → Settings** or edit `~/.config/ferese/config.kdl`.
The [visual direction notes](docs/development/visual-direction.md) document the
Graphite dark/light family and the responsive settings layout.
This fork adds a grouped **Appearance** settings hub. **General → Language**
supports the system language, 简体中文 and English and saves the choice as
`ui { language "zh-CN"; }` (`auto` and `en` are also supported). It changes
Ferese's interface independently of keyboard layouts and input methods.
**All options** exposes the compositor's complete configuration schema, including
nested lists, maps and optional sections. Confirm text with Enter and apply the
whole draft; validation, conflict detection and backups use the normal Settings
save path. Basic settings continue to save immediately.
**Tray icons** controls panel status icons and StatusNotifierItem application
icons. Applications can be hidden individually, including after they exit. Tray
preferences live under `status { tray { enabled #true; show-passive #false;
icon-size 16; hidden-items "application-id"; }; }`. Existing custom panels can
add an **Application tray** item in **Panel & Shell**. The compositor, Shell and
Settings must be built and installed together so the schema and editor match.
The [configuration reference](https://github.com/ferese-wm/ferese/wiki/Configuration)
and [example config](packaging/config.kdl) cover appearance, layouts, displays,
window rules and startup apps.
## First shortcuts
`Super` is usually the Windows key. Change shortcuts and gestures in **Settings → Shortcuts**.
| Control | Action |
| --- | --- |
| Super + Enter | Open a terminal |
| Super + H / J / K / L | Focus left / down / up / right |
| Super + Tab | Open overview |
| Super + M | Switch scrolling / tree layout |
| Super + Shift + E | Ask to log out |
See [all shortcuts and gestures](https://github.com/ferese-wm/ferese/wiki/Shortcuts-and-Gestures)
for resizing, grouping windows, screenshots and workspace navigation.
## Development and bug reports
[Development instructions](https://github.com/ferese-wm/ferese/wiki/Development)
cover building, tests and hardware checks. To
[report a bug](https://github.com/ferese-wm/ferese/issues), include steps to reproduce it,
your version or commit, relevant logs, and whether you ran a nested preview or a direct session.