Coder Social home page Coder Social logo

What's Strata?

Strata is a cutting-edge, robust and sleek Wayland compositor written in Rust using the Smithay library. It is designed to be minimal and flexible yet customizable. Strata is configured in Lua, a lightweight, high-level, multi-paradigm programming language. Lua allows you to customize Strata to a level which may be difficult to do in other config formats such as TOML or YAML.

Getting Started

1. Dependencies

To compile and use Strata, you need some dependencies that have to be installed using a package manager, such as pacman or apt, depending on your distro. The required dependencies are listed below:

  • udev
  • wayland
  • wayland-protocols
  • libinput
  • libxkbcommon
  • libglvnd
  • seatd
  • dbus-glib
  • mesa
  • make (for compiling and linking)

If you're on Arch or any Arch-based distro (such as Artix, Garuda, Manjaro, etc.), you can install these using the following command:

sudo pacman -S udev wayland wayland-protocols libinput libxkbcommon libglvnd seatd dbus-glib mesa make

If you're on Debian, or Debian-based distros such as Ubuntu, Mate, Zorin, etc... you can install these using this command:

sudo apt-get install libudev-dev libgbm-dev libxkbcommon-dev libegl1-mesa-dev libwayland-dev libinput-dev libdbus-1-dev libsystemd-dev libseat-dev make

2. Installing Rust

To compile Strata, you have to install Rust:

All Linux distros

curl https://sh.rustup.rs -sSf | sh

Arch Linux

sudo pacman -S rust

3. Compiling

3.1 Clone the repository

git clone https://github.com/stratawm/stratawm

3.2 Compile and Install

To install, cd into the cloned repo and then run:

sudo make install

This will compile Strata and also copy the necessary libraries. It will also copy a default config for you to get started with. This might take a bit of time since it has to compile the source code and all the dependencies but if your system is a bit better than a potato, it won't take much time.

Executing

To start Strata, you can run this command from a terminal

stratawm --backend winit

This will start Strata using the winit backend. For this to work, another X11 window manager or another Wayland should be running. Support for launching from the TTY will be added shortly.

License

StrataWM and all its subsidiaries are licensed under the GNU GPL v3 License. See LICENSE for details.

Contributing

Refer to CONTRIBUTING.md

Strata's Projects

docs icon docs

Documentation for Strata built with mdBook

kagi icon kagi

A highly configurable, fast and responsive hotkey daemon written in Rust.

smithay icon smithay

A smithy for rusty wayland compositors modified for Strata. NOTE: this is a backend library. Not designed to be used by users.

strata icon strata

A cutting-edge, robust and sleek Wayland compositor with batteries included.

stratactl icon stratactl

A CLI for controlling the Strata Wayland compositor

stratax icon stratax

A modular, sleek and customizable X window manager using Rust and XCB

wayland-rs icon wayland-rs

Rust implementation of the wayland protocol (client and server).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.