Giter VIP home page Giter VIP logo

nextwm's Introduction

NextWM

Manual tiling wayland compositor written with wlroots aimed to be a bspwm clone.

Note: NextWM is still a work in progress project. It won't be useable anytime soon, but when it is I will be the first one to spam screenshots of it in the readme.

License:

The entire project is licensed as BSD-2 "Simplified" unless stated otherwise in the file header.

Aim

I want to learn how to write wlroots compositors with this project.

Why multiple implementations of Nextctl?

Since this project is meant to teach others, why not show people how wayland clients are written in different languages :) ?

To-Do

  • Compress man pages using zig stdlib.
  • Simple inbuilt bar.
  • Toplevel location data export?
  • focused_wlr_output and focused_toplevel data export?

Building

Note: All Nextctl implementations are exactly identical.

Build Flags

  • -Dxwayland flag enables Xwayland supoprt.
  • -Dxwayland-lazy lazy load Xwayland (might have slightly worse xwayland startup times but reduces resource consumption).
  • -Dnextctl-rs Compile the Rust version of Nextctl (Default is C codebase).
  • -Dnextctl-go Compile the Go version of Nextctl (Default is C codebase).

Depedencies

  1. cargo (Optional. Required if you build Rust implementation of Nextctl) *
  2. go 1.18 (Optional. Required if you build Go implementation of Nextctl) *
  3. libevdev
  4. libinput
  5. make *
  6. pixman
  7. pkg-config *
  8. scdoc (Optional. If scdoc binary is not found, man pages are not generated.) *
  9. wayland-protocols *
  10. wayland
  11. wlroots 0.16
  12. scenefx (Currently chasing master as there's no tagged release.)
  13. xkbcommon
  14. xwayland (Optional. Required if you want Xwayland support.)
  15. zig 0.11.0 *

* Compile-time dependencies

Steps

git clone --recursive https://git.sr.ht/~shinyzenith/NextWM
sudo make install

Keybind handling

Consider using the compositors in-built key mapper or swhkd if you're looking for a sxhkd like experience.

Contributing:

Send patches to: ~shinyzenith/[email protected]

Bug tracker:

https://todo.sr.ht/~shinyzenith/NextWM

Support

nextwm's People

Contributors

shinyzenith avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

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.