8000 Add AwesomeWM compatibility · Issue #338 · way-cooler/way-cooler · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
This repository was archived by the owner on Jan 11, 2020. It is now read-only.
This repository was archived by the owner on Jan 11, 2020. It is now read-only.
Add AwesomeWM compatibility #338
Open
@Timidger

Description

@Timidger

I've been thinking a lot about the state of the Lua libraries in Way Cooler, and how they compare to AwesomeWM (one of the window managers that Way Cooler was based on). They have a large, well tested, high user base system set up. This is something I can't recreate, certainly not on my own.

However, AwesomeWM doesn't currently have a Wayland equivalent nor is one (as of time of writing) in the works. After talking with the developers, they plan for the Wayland version of AwesomeWM to be in Rust as well. Seeing this as a point of collaboration, I have started working on a library that will allow a compositor written in Rust to add support for using the existing AwesomeWM Lua library as a means to control the compositor.

The library's main focus will be abstracting some of the lower-level details of talking to Lua (e.g having an OO structure) and will provide callbacks to the compositor that they must implement in order to be compliant (e.g, returning the position of the pointer, or drawing to the screen).

It can't be 100% compliant, because it's basically a thin wrapper around xcb, but it should be able to re-create 90% of the functionality.

The rough plan is as follows:

  1. Make the library <In Progress> Making it in house, follow these issues
  2. Integrate into Way Cooler
  3. Deprecate (but do not remove) the current Lua libraries in Way Cooler. Release v0.7
  4. Remove the old Way Cooler Lua integration (Release v0.8). The WM will then be split into two "flavors":
    a) Awesome-style (basically a clone of AwesomeWM in Wayland)
    b) Way Cooler (also known as i3-style) that will be configured using a static configuration file and extended using D-Bus clients.
  5. Assuming Awesome devs want to collaborate on a "true successor" to AwesomeWM, work with them to integrate said library in their compositor.
  6. Assuming 5, remove the AwesomeWM compatibility in Way Cooler, transition totally to a D-Bus focused WM (in terms of extensibility). That means no more Lua in Way Cooler. (Release < 1.0) That would be a separate project entirely, if that ever happens

This has been rolling around in my head for a few weeks, and I think this is the correct approach moving forward. It gives better support for Lua in the short term, can convert more users to using Way Cooler, and gives me a better avenue to pursue making a window manager based on D-Bus in the future.

Hopefully, this should be enough to resolve this awesome issue.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0