docs: refresh project identity and README
This commit is contained in:
2 files changed
+78
-87
No files matched your search
@@ -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.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
## 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.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## 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.
|
|
||||||
@@ -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 |
Reference in new issue
Block a user