This repository has been archived by the owner on Jan 11, 2020. It is now read-only.
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Updated README, updated contributing and ISSUE_TEMPLATE
- Loading branch information
Showing
5 changed files
with
52 additions
and
159 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,11 @@ | ||
# Contributing to Way Cooler | ||
|
||
We are always looking for more help to improve Way Cooler. Even if you don't know how to write any Rust code, we always need better documentation, detailed bug reports, and suggestions for more features. | ||
To contribute code, all that is required is that you have an email address and you can send a pull request via Github. | ||
|
||
See [here](ways-to-contribute.md) to find out how you can contribute to Way Cooler. | ||
Regardless if you are planning for or looking for something to do, it's best if you reach out via the [IRC channel](https://webchat.freenode.net/?channels=awesome&uio=d4) first. | ||
|
||
## Guidelines | ||
|
||
Every pull request that adds new functionality / fixes a bug should have tests ensuring that the feature works / the bug can't happen again. If this isn't possible (for example it would require mocking wlc, something that is currently very difficult), exceptions can be made. | ||
# Release Cycle | ||
For pre-1.0 there is no fixed release. Once 1.0 has been released a release cycle will be determined and will probably follow what Awesome does. | ||
|
||
# Coding style | ||
Please run rustfmt on your code before submission. That is the easiest way to ensure you follow the code style. To invoke the formatter, simply run `cargo fmt`. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
<?xml version="1.0" encoding="UTF-8" ?> | ||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" | ||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | ||
|
||
<html xmlns="http://www.w3.org/1999/xhtml"> | ||
|
||
<head> | ||
<title>README.html</title> | ||
|
||
</head> | ||
|
||
<body> | ||
|
||
<h1><img src="http://i.imgur.com/OGeL1nN.png" width="60"> Way Cooler <a href="https://crates.io/crates/way-cooler"><img src="https://img.shields.io/crates/v/way-cooler.svg" alt="Crates.io" /></a> <a href="https://crates.io/crates/way-cooler"><img src="https://img.shields.io/crates/d/way-cooler.svg" alt="Downloads" /></a> <a href="https://github.com/way-cooler/way-cooler/"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License" /></a></h1> | ||
|
||
<p>Way Cooler is a clone of <a href="https://awesomewm.org/">AwesomeWM</a> written in <a href="https://www.rust-lang.org">Rust</a> for <a href="https://wayland.freedesktop.org/">Wayland</a> using <a href="https://github.com/swaywm/wlroots">wlroots</a>.</p> | ||
|
||
<h1>Development</h1> | ||
|
||
<p>Way Cooler is under very active development right now. Currently, master is not usable for production. There are old versions of Way Cooler that do work, however: | ||
* They use an old framework, <a href="https://github.com/Cloudef/wlc">wlc</a>, and thus are very limited and buggy. | ||
* Was not designed to emulate Awesome, but instead has [i3][] tiling and its own (very incomplete) Lua libraries.</p> | ||
|
||
<p>There will be another release this year, v0.9.0. It will be the last release before 1.0. 1.0 is defined to be 100% compatible with AwesomeWM.</p> | ||
|
||
<h1>Contributing</h1> | ||
|
||
<p>Check out <a href="Contributing.md">Contributing</a> for more information.</p> | ||
|
||
<p>If you find bugs or have questions about the code, please <a href="https://github.com/Immington-Industries/way-cooler/issues/new">submit an issue</a> or ask us on <a href="https://webchat.freenode.net/?channels=awesome&uio=d4">IRC</a>.</p> | ||
|
||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,156 +1,25 @@ | ||
# <img src="http://i.imgur.com/OGeL1nN.png" width="60"> Way Cooler [![Crates.io](https://img.shields.io/crates/v/way-cooler.svg)](https://crates.io/crates/way-cooler) [![Downloads](https://img.shields.io/crates/d/way-cooler.svg)](https://crates.io/crates/way-cooler) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/way-cooler/way-cooler/) | ||
|
||
Way Cooler is a customizable tiling window manager written in [Rust][] for [Wayland][wayland] and configurable using [Lua][]. | ||
Way Cooler is a clone of [AwesomeWM][] written in [Rust][] for [Wayland][] using [wlroots][]. | ||
|
||
It is heavily inspired by the tiling of [i3][] and the extensibility of [awesome][]. | ||
|
||
While Lua is used for the runtime configuration (like in [awesome][]), extensions for Way Cooler are implemented as totally separate client programs using [D-Bus][]. Currently we support 3 official extensions: | ||
* [way-cooler-bg](https://github.com/way-cooler/way-cooler-bg): Draws the background for Way Cooler. | ||
* [wc-grab](https://github.com/way-cooler/way-cooler-grab): Allows the user to take pictures of a screen. | ||
* [wc-lock](https://github.com/way-cooler/way-cooler-lock): Locks Way Cooler and requires their password to be entered to unlock. | ||
|
||
# Development | ||
|
||
Way Cooler is currently in beta. The core features have been added and it is in a usable state, but there will be backwards-incompatible changes in future versions that might require some user intervention. | ||
|
||
Once Way Cooler reaches 1.0, we will guarantee backwards compatibility for both the configuration files and the D-Bus interfaces. | ||
|
||
Here are some pictures of what Way Cooler looks like today: | ||
|
||
[![](http://i.imgur.com/UQAmli3.png)](http://i.imgur.com/UQAmli3.png) | ||
[![](http://i.imgur.com/e89P4hw.png)](http://i.imgur.com/e89P4hw.png) | ||
[![](http://imgur.com/A3V5x28.png)](http://imgur.com/A3V5x28.png) | ||
|
||
|
||
## Motivation | ||
|
||
We wanted to get experience with Rust and we found current X11 window managers to not have all the features we wanted. | ||
|
||
Currently there are very few fully-featured tiling window managers in the Wayland ecosystem, as most of the effort has been porting Gnome and KDE over. Although Wayland is still in early-stage development | ||
and is not backwards compatible with existing X11 tools, we wanted to put our stake in and provide for current tiling window manager users in the future. | ||
|
||
|
||
## Current Features | ||
- i3-style tiling | ||
* Horizontal/Vertical layouts | ||
* Tabbed/Stacked layouts | ||
* Nest containers with different layouts | ||
* Floating windows per workspace | ||
- Client application support via the D-Bus IPC | ||
* See an example application [here](https://github.com/way-cooler/Way-Cooler-Example-Clients). It displays the tree in a somewhat organized format, and is actually really helpful for both debugging the tree and understanding how subcontainers work. | ||
* Enables dynamic configuration at runtime, without having to reload a configuration file | ||
* Allows extensions of the window manager to exist as separate programs talking over the IPC | ||
- A Lua 53 environment designed to make extending Way Cooler simple and easy | ||
* Lua is the configuration format, allowing the user to enhance their window manager in any way they want. | ||
* Utilities library included to aid communicating with Way Cooler | ||
- X programs supported through XWayland | ||
- Borders around containers | ||
- Gaps between containers | ||
- Basic X11 bar support (e.g [lemonbar][], [polybar][]) | ||
- Screen grabber / screen shot taker | ||
- Lock screen | ||
|
||
## Planned Features | ||
|
||
- Notification support | ||
- AwesomeWM compatibility (see [this issue for more info](https://github.com/way-cooler/way-cooler/issues/338)) | ||
- A dedicated status bar | ||
* The status bar should be swappable, such that a user can implement their own or use a different one. | ||
- More customization settings | ||
|
||
Follow the development of these features in our [issues section] or checkout our [contribution guidelines](#Contributing) if you want to help out. | ||
|
||
# Installation | ||
|
||
## On the AUR | ||
|
||
@vinipsmaker and @timidger maintain our AUR packages: | ||
|
||
[way-cooler][way-cooler-aur] | ||
|
||
[way-cooler-git][way-cooler-git-aur] | ||
|
||
## NixOS | ||
|
||
@miltador maintains our [NixOS package](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/window-managers/way-cooler/default.nix). | ||
|
||
## openSUSE | ||
|
||
@jubalh maintains our [openSUSE package](https://build.opensuse.org/package/show/X11:windowmanagers/way-cooler). | ||
Install with: | ||
|
||
``` | ||
zypper ar -f obs://X11:windowmanagers windowmanagers | ||
zypper in way-cooler | ||
``` | ||
|
||
## Installation Script | ||
|
||
For users who are not using the above mentioned Linux distributions, we have provided a simple install script that you can run in the terminal in order to install Way Cooler. | ||
|
||
Please go to the [download page on our site](http://way-cooler.org/download) in order to download Way Cooler. | ||
|
||
## Build from source | ||
|
||
You will need the following dependencies installed on your machine to install Way Cooler: | ||
- Wayland | ||
* Including the server and client libraries | ||
- wlc | ||
* Installation instructions can be found on [their github page](https://github.com/Cloudef/wlc) | ||
- Weston (optional) | ||
* The init file defaults to using `weston-terminal` as the default terminal emulator | ||
- Cargo | ||
* The package manager / build system used by Rust | ||
- Cairo | ||
|
||
Finally, to install Way Cooler simply run the following cargo command: | ||
|
||
```shell | ||
cargo install way-cooler | ||
``` | ||
|
||
You can try it out while running in an X environment, or switch to a TTY and run it as a standalone. | ||
|
||
# Init File | ||
|
||
All keyboard shortcuts are configurable through the init file. The recommended strategy is to copy the [default configuration file](https://github.com/way-cooler/way-cooler/blob/master/config/init.lua) to `$XDG_CONFIG_HOME/way-cooler/init.lua` and edit from there. | ||
|
||
# Contributors | ||
Way Cooler was started by @Timidger and @SnirkImmington, but these fine people have helped us: | ||
|
||
- @Dcelemeno for creating the logo | ||
- @platipo for creating the official backgrounds | ||
- @vinipsmaker created (and maintains) AUR packages | ||
- @miltador created NixOS package | ||
- @starfys created way-cooler desktop file | ||
- @toogley fixed a link | ||
- @paulmenzel fixed a typo | ||
- @thefarwind made kill way-cooler command rebindable | ||
- @bluss for updating our use of `PetGraph` to use `StableGraph` | ||
- @Abdillah | ||
+ fixed background program to have solid colors be variable size at initialization | ||
+ [added modes to the background program (fill, fit, stretch, title)](https://github.com/way-cooler/way-cooler-bg/pull/6#pullrequestreview-32859779) | ||
- @hedning fixed an unsigned underflow in the tiling code | ||
- @jubalh created the openSUSE package | ||
Way Cooler is under very active development right now. Currently, master is not usable for production. There are old versions of Way Cooler that do work, however: | ||
* They use an old framework, [wlc][], and thus are very limited and buggy. | ||
* Was not designed to emulate Awesome, but instead has [i3][] tiling and its own (very incomplete) Lua libraries. | ||
|
||
And of course, thanks to the Rust community and the developers of [wlc]. | ||
There will be another release this year, v0.9.0. It will be the last release before 1.0. 1.0 is defined to be 100% compatible with AwesomeWM. | ||
|
||
# Contributing | ||
Check out [Contributing](Contributing.md) for more information. | ||
|
||
If you find bugs or have questions about the code, please [submit an issue] or [ping us on gitter][gitter]. | ||
If you find bugs or have questions about the code, please [submit an issue][] or ask us on [IRC][]. | ||
|
||
[Rust]: https://www.rust-lang.org | ||
[wayland]: https://wayland.freedesktop.org/ | ||
[Lua]: https://lua.org/ | ||
[Wayland]: https://wayland.freedesktop.org/ | ||
[wlc]: https://github.com/Cloudef/wlc | ||
[i3]: https://i3wm.org | ||
[D-Bus]: https://www.freedesktop.org/wiki/Software/dbus/ | ||
[awesome]: https://awesomewm.org/ | ||
[polybar]: https://github.com/jaagr/polybar | ||
[lemonbar]: https://github.com/LemonBoy/bar | ||
[issues section]: https://github.com/Immington-Industries/way-cooler/issues | ||
[AwesomeWM]: https://awesomewm.org/ | ||
[submit an issue]: https://github.com/Immington-Industries/way-cooler/issues/new | ||
[gitter]: https://gitter.im/Immington-Industries/way-cooler?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge | ||
[way-cooler-aur]: https://aur.archlinux.org/packages/way-cooler/ | ||
[way-cooler-git-aur]: https://aur.archlinux.org/packages/way-cooler-git/ | ||
[wlroots]: https://github.com/swaywm/wlroots | ||
[IRC]: https://webchat.freenode.net/?channels=awesome&uio=d4 |
This file was deleted.
Oops, something went wrong.