Samuel Onoja c6b548349d Restore the battery menu sections and center their icons
A let-chain collapse in the status menu left the battery blocks
inside the notifications arm, so the percentage, level meter, power
mode row, and power actions only rendered when notifications were
present. Close the notifications block before the battery checks so
each menu kind owns its own sections again.

Use center_x/center_y on the fixed-size icon containers rather than
align_x/align_y, which left badges and the top bar slot sitting off
center in libcosmic, and constrain the menu icon to a square 22px slot
so the battery glyph is not letterboxed by its own width. Give the
power tiles a Fill-width centering container inside their
FillPortion(1) buttons so the label and icon stay centered on hover.

Drop the two column-alignment TODO wrappers the collapse introduced.
2026-09-29 12:00:08 +01:00

Ferese

A beautiful, fluid Wayland desktop made to feel like yours.

Install · Configure · Widgets · Notifications

Ferese is a complete Wayland desktop built around personalization. Its custom 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 Blue desktop with Settings, Control Center, and a clock widget

Why Ferese

  • 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, including themed authentication prompts.
  • 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.
  • Screen sharing: a native display picker and PipeWire video streams for portal-compatible recording and conferencing apps.

Ferese Overview showing open windows and two workspace thumbnails

The overview brings windows and workspaces into one view. Read more about why Ferese builds the compositor and shell together.

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 and Control Center sharing the Gruvbox theme

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 or the example config.

Install

Install Ferese on Linux with any Wayland-capable login manager, a command-based greeter, or a local TTY. Start with the installation guide for system dependencies and Rust 1.95 or newer, then build as your normal user:

git clone https://github.com/ferese-wm/ferese.git
cd ferese
./scripts/install.sh

Log out and select Ferese at your login screen. For greeters that take a session command, use /usr/local/bin/ferese-session. The installer preserves your configuration and other sessions, and retains the previous release for rollback. The guide covers all startup methods, optional tools, updates, and recovery.

To preview Ferese inside your current Wayland desktop instead:

cargo build --release --locked -p ferese -p ferese-shell -p ferese-settings -p feresectl -p ferese-lock
target/release/ferese --backend nested --grant-effects --grant-shell-control -- \
  target/release/ferese-shell

Get around

These are the built-in defaults; every shortcut and gesture can be changed.

Shortcut Action
Super + Enter Open a terminal
Super + H / J / K / L Focus a window
Super + R Cycle column width
Super + Tab Open workspace and window overview
Super + M Switch scrolling / tree layout
Super + Shift + S Select a screenshot area

Click the bar date for a calendar. Click the battery for power modes and confirmed Restart, Power off and Suspend actions.

Three-finger swipes move between workspaces and windows. Open Control Center → Settings → Shortcuts to change them or assign gestures to other actions.

Documentation

Development

cargo test --workspace --locked
cargo fmt --all --check

Ferese is built in Rust on Smithay. Use release builds when evaluating motion and startup performance, and keep another desktop session available while testing hardware behavior.

S
Description
No description provided
Readme MIT
146 MiB
0 Stars 1 Watchers 0 Forks
Languages
Rust 91.7%
Python 7.2%
Shell 0.7%
GLSL 0.2%
CSS 0.1%