• This repository has been archived on 10/Feb/2023
  • Stars
    star
    602
  • Rank 74,154 (Top 2 %)
  • Language
    Rust
  • License
    MIT License
  • Created over 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Modular wayland window manager written in rust

Fireplace Crates.io

I am now working on https://github.com/pop-os/cosmic-comp

cosmic-comp shares a lot of my vision for fireplace, is also written in Rust /using smithay, etc. But unlike fireplace, it will be a part of a full featured desktop product developed by System76. Developing this project along was fun, but at least currently I have no intention of spending more time on fireplace.


Active development currently at Matrix

Chatroom on Matrix

A modular wayland window manager

Fireplace strives to be a slim and fast playground for a full-featured tiling-based wayland compositor for now. Eventually I plan to implement a gnome-compatible desktop environment on top of fireplace with resonable amounts of eye-candy to be appealing to the general user, but without sacrificing on performance or keyboard based workflows.

The goal is to be gnome-abi compatible to applications (including the vast cast of dbus interfaces, but notably not gtk-specific styling or the horrific extension-api), while remaining composible and extendible through e.g. the wlr-protocols (most notable layer-shell).

What that transition means for fireplace and if the additional components of a full-featured desktop environment can be implemented without assimilating the original window manager is not yet decided. If possible fireplace should still be usable independently as a barebones wayland compositor.

Currently fireplace is getting reimplemented on top of Smithay, which is not "done" in any sense of the word as well. Expect development to be slow and new features to be sparse. As such fireplace will likely depend on git-versions of smithay from time to time and might not always compile.

Status

Fireplace

  • Floating windows
  • [-] Workspaces
  • BSP-style window tiling
  • Basic UI rendering using layer-shell
  • ...

Older (more feature-complete) wlc-based Codebase: https://github.com/Drakulix/fireplace/tree/old_codebase

Installation / Development

You are currently expected to know how to compile rust programs and how to start custom compositors. Integrations for login managers will be provided at a later stage, when fireplace is deemed usable enough.

Configuration

Configuration is done in YAML format.

You can see a detailed example at fireplace.yaml

The configuration file should be placed into the $XDG_CONFIG_DIR - if set - or into $HOME/.config otherwise. The name may either be fireplace.yaml or .fireplace.yaml. You can also add a folder called fireplace and store the config file there, if you happen to like folders.

A global configuration can be provided in /etc/fireplace/fireplace.yaml.

Contributing

Pull requests, feature requests, bug reports, every contribution is highly appreciated, but please note, that I do this in my free time and your request maybe be given a very low priority and postponed for quite some time.

The best way to participate is start hacking on the codebase. I will give my best to answer any questions related to documentation and the core library as quickly as possible to assist you!

More Repositories

1

simplelog.rs

Simple Logging Facility for Rust
Rust
415
star
2

sway-gnome

Opinionated Sway Configuration using GNOME session services, for GNOME >= 3.34
Makefile
136
star
3

googlehome

Google Home Integration for Home-Assistant
Python
29
star
4

wlc.rs

Safe Rust Cloudef/wlc bindings (Wayland Compositor C Library)
Rust
27
star
5

ScrollsModLoader

A Mod Loader Framework for the game "Scrolls" by Mojang
C#
15
star
6

shipwreck

Configurable Docker socket proxy
Rust
7
star
7

nvscreencopy

A userspace utility to mirror outputs on wayland to nvidia gpus
Rust
7
star
8

sunrise

Some hacks and failed experiments surrounding nvidia's gamestream protocol and sunshine/moonlight implementations
Rust
7
star
9

zwreec

Twee to Z-Code Compiler in Rust
Rust
7
star
10

37c3-container-workshop

A project for learning about containers during 37c3
TypeScript
5
star
11

infinity

A Silverblue based OSTree Image with the COSMIC desktop environment
Dockerfile
5
star
12

plugin.program.steam.streaming

Kodi Addon to start Steam In-Home Streaming directly
Python
5
star
13

knex

KNowledge EXchange platform
JavaScript
4
star
14

VK_hdr_layer

Hacks. Don't use.
C++
4
star
15

taskqueue

TaskQueue is a libdispatch inspired threading library for Rust
Rust
3
star
16

opengles_graphics

An OpenGL ES 2D back-end for the Piston game engine
Rust
3
star
17

objectCraft

An Objective-C cross-platform Minecraft PC and Pocket Edition dedicated Server
Objective-C
3
star
18

ghlapi_proxy

Google Home Local API Proxy
Rust
2
star
19

spotify-sensor

Custom Spotify sensor integration for Home-Assistant
Python
1
star
20

unifi-dns-gen

A hosts-file generator by aliases made in a UniFi controller to be run on a UDM
Python
1
star
21

libdisplay-info-rs

Rust
1
star
22

prog-lang-speed-dating

Slides and resources from Programmming Language πŸ’» Speed Dating πŸ’˜
1
star