docs: refresh project identity and README

This commit is contained in:
Samuel Onoja committed 2026-09-27 09:22:51 +01:00
1 parent c7cb7ec189
commit ef912daeba
2 files changed
+78 -87

No files matched your search

+54 -87
View File
@@ -1,44 +1,63 @@
<p align="center"> <p align="center">
<img src="packaging/icons/ferese.svg" width="88" height="88" alt="Ferese logo"> <img src="docs/images/ferese-lockup.svg" width="300" alt="Ferese">
</p> </p>
<h1 align="center">Ferese</h1> <p align="center"><strong>A beautiful, fluid Wayland desktop made to feel like yours.</strong></p>
<p align="center">Just another Wayland window manager with sensible defaults.</p>
<p align="center"> <p align="center">
<a href="docs/installation.md">Install</a> · <a href="docs/installation.md">Install</a> ·
<a href="docs/configuration.md">Configure</a> · <a href="docs/configuration.md">Configure</a> ·
<a href="#try-it">Try it</a> · <a href="docs/desktop-widgets.md">Widgets</a> ·
<a href="docs/desktop-widgets.md">Widgets</a> <a href="docs/notifications.md">Notifications</a>
</p> </p>
Ferese is built in Rust on Smithay, with its own menu bar, control center Ferese is a complete Wayland desktop built around personalization. Its custom
and native Settings app. shell, native settings, live-reloading themes and wallpapers, desktop widgets,
fluid animations, and scrolling and tiling layouts work together as one
cohesive experience—beautiful by default and unmistakably yours.
![Ferese desktop with a stacked clock widget, compact workspace bar, and control center](docs/images/ferese-desktop.png) ![Ferese desktop with a stacked clock widget, compact workspace bar, and control center](docs/images/ferese-desktop.png)
## One cohesive desktop
- **Flexible layouts:** scrolling columns, tree tiling, floating windows and a
workspace overview.
- **A native shell:** menu bar, control center, settings, notifications and
desktop widgets designed to belong together.
- **Personal by design:** themes, wallpapers, accent colors, blur, borders and
motion that update without restarting your session.
- **Ready for real setups:** gestures, multi-monitor support, fractional
scaling, screenshots, background services and session locking.
## Make it yours
Use the native Settings app for everyday customization, or edit
`~/.config/ferese/config.kdl` when you want complete control. Ferese reloads
changes as you make them and keeps the last working configuration if an edit is
invalid.
![Ferese Settings showing the Monochrome theme and appearance presets](docs/images/ferese-monochrome.png) ![Ferese Settings showing the Monochrome theme and appearance presets](docs/images/ferese-monochrome.png)
## Features Choose a preset or build your own look. Window behavior, gestures, shortcuts,
rules, displays, widgets and login items are configurable too. Start with the
[configuration guide](docs/configuration.md) or the
[example config](packaging/config.kdl).
- Scrolling columns, tree tiling and floating windows ## Install
- Workspace overview
- Configurable three-finger workspace and window navigation
- Configurable animations
- Built-in bar and control center
- Native Settings app
- Desktop widgets
- Area and full-screen screenshots with Satty annotation
- [Native themed notifications and history](docs/notifications.md)
- Themes, blur and gradient borders
- Multi-monitor support and fractional scaling
- Live configuration reload
- Background services and session locking
## Try it The current installation guide covers Fedora with SDDM. After installing the
[prerequisites](docs/installation.md), run:
Preview Ferese inside your current Wayland desktop: ```sh
./scripts/install.sh
```
Log out, select **Ferese** at the login screen, and sign in. The installer keeps
your configuration and the previous release for rollback. See
[installation and recovery](docs/installation.md) for the full setup and safety
notes.
To preview Ferese inside your current Wayland desktop instead:
```sh ```sh
cargo build --release --locked -p ferese -p ferese-shell -p ferese-settings -p feresectl cargo build --release --locked -p ferese -p ferese-shell -p ferese-settings -p feresectl
@@ -46,78 +65,28 @@ target/release/ferese --backend nested --grant-effects --grant-shell-control --
target/release/ferese-shell target/release/ferese-shell
``` ```
Requirements (Fedora package names):
- Rust 1.93+ and Cargo.
- Build tools: `gcc`, `gcc-c++`, `cmake`, `make`, `pkgconf-pkg-config`.
- Wayland and input: `wayland-devel`, `libxkbcommon-devel`, `libinput-devel`.
- Graphics: `libdrm-devel`, `mesa-libgbm-devel`, `mesa-libEGL-devel`.
- Session and fonts: `systemd-devel`, `libseat-devel`, `fontconfig-devel`.
- Installation: `desktop-file-utils`, `dbus`.
- Default terminal: `foot` (or configure another terminal).
- Optional: `zenity` for wallpaper browsing, `swayidle` for idle actions,
and `swaylock` or `swaylock-effects` for locking.
- Screenshots: `grim`, `slurp`, `satty`, and `wl-clipboard`.
For a login-screen session alongside your existing desktop:
```sh
./scripts/install.sh
```
The installer preserves your configuration and keeps previous releases for
rollback. Log out and select **Ferese** at the login screen. An upgrade does
not replace the running compositor: log out and back in to activate it.
See [installation and recovery](docs/installation.md) for prerequisites,
session logs and rollback.
## Get around ## Get around
Built-in defaults (your configuration can override them): These are the built-in defaults; every shortcut and gesture can be changed.
A single-display session starts with workspace 1 in a compact numbered strip.
More workspaces are created when you use Super+1–9 or swipe forward past the last
workspace. Click a number to switch. A filled button marks this monitor's
active workspace; an outlined button marks one active on another monitor.
Status controls and the clock use matching compact groups. The control center
opens as one rounded panel with grouped controls and a Settings shortcut.
Three-finger swipes up/down navigate workspaces on this monitor; left/right
navigate windows. Assign swipes to any keyboard-binding action (including
overview, move, or a launcher command) in **Settings → Shortcuts**.
| Shortcut | Action | | Shortcut | Action |
| --- | --- | | --- | --- |
| Super + Enter | Open a terminal | | Super + Enter | Open a terminal |
| Super + H / J / K / L | Focus a window | | Super + H / J / K / L | Focus a window |
| Super + R | Cycle column width | | Super + R | Cycle column width |
| Super + C | Center the focused column |
| Super + F | Maximize, keeping the bar and decorations |
| Super + Shift + F | True fullscreen |
| Super + Tab | Open workspace and window overview | | Super + Tab | Open workspace and window overview |
| Super + M | Switch scrolling / tree layout | | Super + M | Switch scrolling / tree layout |
| Super + Shift + S | Select a screenshot area | | Super + Shift + S | Select a screenshot area |
| Print Screen / Fn + PrtSc | Capture the whole screen |
| Super + Shift + E | Log out immediately—save your work first |
Both screenshot shortcuts open Satty for annotation. Press Enter in Satty to Three-finger swipes move between workspaces and windows. Open **Control Center →
save to `Pictures/Screenshots` and copy the edited image to the clipboard; Settings → Shortcuts** to change them or assign gestures to other actions.
Escape discards it. Escape also cancels an area selection.
Run `ferese-screenshot --full` to capture the whole screen from a terminal.
When focus follows the mouse is enabled, hovering changes keyboard focus without
raising the window; clicking raises it within its layer.
## Make it yours ## Documentation
Open **Control Center → Settings**, or run `ferese-settings`. Appearance includes - [Installation and recovery](docs/installation.md)
six presets: Ferese Blue, Monochrome, Gruvbox, Dracula, Ayu Light, and Monokai. - [Configuration reference](docs/configuration.md)
The custom Ferese wallpaper is bundled as the default. Choose another image in - [Desktop widgets](docs/desktop-widgets.md)
Settings → Wallpaper, or keep your existing wallpaper configuration. - [Notifications](docs/notifications.md)
Advanced options live in `~/.config/ferese/config.kdl` (or under
`$XDG_CONFIG_HOME`). Changes reload automatically. The complete
[configuration reference](docs/configuration.md) covers every supported option;
the [example config](packaging/config.kdl) is a starting point. KDL uses compact nested sections
and bindings such as `binding "Swipe3Up" "toggle-overview"`. See the
[configuration guide](docs/configuration.md#kdl-syntax).
## Development ## Development
@@ -126,8 +95,6 @@ cargo test --workspace --locked
cargo fmt --all --check cargo fmt --all --check
``` ```
Use release builds when evaluating animation and startup performance. Ferese is built in Rust on Smithay. Use release builds when evaluating motion
`RUST_LOG=ferese=debug` enables detailed logs; and startup performance, and keep another desktop session available while
`FERESE_TRACE_PERFORMANCE=1` enables per-output performance summaries. testing hardware behavior.
Test hardware behavior on your own setup, especially suspend/resume and locking.
Keep a working desktop session available while testing changes.
+24
View File
@@ -0,0 +1,24 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 80" role="img" aria-labelledby="title desc">
<title id="title">Ferese</title>
<desc id="desc">The blue Ferese symbol beside the Ferese wordmark</desc>
<defs>
<linearGradient id="mark" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stop-color="#6ea3ff"/>
<stop offset="100%" stop-color="#3d7be6"/>
</linearGradient>
<style>
.wordmark { fill: #1c1d21; }
@media (prefers-color-scheme: dark) {
.wordmark { fill: #f2f2f7; }
}
</style>
</defs>
<g transform="translate(0 8) scale(.32)" fill="url(#mark)">
<rect x="20" y="20" width="50" height="160" rx="8"/>
<rect x="80" y="20" width="100" height="55" rx="8"/>
<rect x="80" y="95" width="70" height="45" rx="8"/>
</g>
<text class="wordmark" x="78" y="56" font-family="-apple-system, BlinkMacSystemFont, Helvetica, Arial, sans-serif" font-size="48" font-weight="700">Ferese</text>
</svg>

After

Width:  |  Height:  |  Size: 977 B