diff --git a/README.md b/README.md
index 8982679..2191a89 100644
--- a/README.md
+++ b/README.md
@@ -1,31 +1,114 @@
-# hy3
-
+
+# hy3
+
i3 / sway like layout for [hyprland](https://github.com/hyprwm/hyprland).
+[Installation](#installation), [Configuration](#configuration)
+
### Features
- [x] i3 like tiling
-- [x] Window splits
-- [x] Window movement
-- [x] Window resizing
-- [x] Selecting a group of windows at once (and related movement)
-- [x] Tabbed groups
-- [ ] Some convenience dispatchers not found in i3 or sway
+- [x] Node based window manipulation (you can interact with multiple windows at once)
+- [x] Greatly improved tabbed node groups over base hyprland
+
+Additional features may be suggested in the repo issues or the [matrix room](https://matrix.to/#/#hy3:outfoxxed.me).
### Demo
### Stability
-As of now hy3 is stable enough to use normally.
-If you encounter any crashes or bugs please report them in the issue tracker.
+hy3 always tracks the latest (git) version of hyprland. It likely will not work when built against a given stable
+hyprland release, however it will probably work within a few commits of the latest hyprland version. Please ping
+`@outfoxxed:outfoxxed.me` in the [matrix room](https://matrix.to/#/#hy3-general:outfoxxed.me) or make an issue
+if hy3 does not build or function against the latest hyprland commit.
+
+Commits are tested for obvious crashes before pushing and usually fine, however you may occasionally find a bug.
+
+If you encounter any bugs, please report them in the issue tracker.
When reporting bugs, please include:
- Commit hash of the version you are running.
-- Steps to reproduce (if you can figure them out)
-- backtrace of the crash
+- Steps to reproduce the bug (if you can figure them out)
+- backtrace of the crash (if applicable)
-If you don't know how to reproduce it or can't, or you can't take a backtrace please still report the issue.
+If you are too lazy to use the issue tracker, please at least ping `@outfoxxed:outfoxxed.me`
+in the [matrix room](https://matrix.to/#/#hy3-support:outfoxxed.me) with your bug information.
+
+## Installation
+### Nix
+#### Hyprland home manager module
+Assuming you use hyprland's home manager module, you can easily integrate hy3 by adding it to the plugins array.
+
+```nix
+# flake.nix
+
+{
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+
+ home-manager = {
+ url = "github:nix-community/home-manager";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+
+ hyprland.url = "github:hyprwm/Hyprland";
+
+ hy3 = {
+ url = "github:outfoxxed/hy3";
+ inputs.hyprland.follows = "hyprland";
+ };
+ };
+
+ outputs = { nixpkgs, home-manager, hyprland, hy3, ... }: {
+ homeConfigurations."user@hostname" = home-manager.lib.homeManagerConfiguration {
+ pkgs = nixpkgs.legacyPackages.x86_64-linux;
+
+ modules = [
+ hyprland.homeManagerModules.default
+
+ {
+ wayland.windowManager.hyprland = {
+ enable = true;
+ plugins = [ hy3.packages.x86_64-linux.hy3 ];
+ };
+ }
+ ];
+ };
+ };
+}
+```
+
+#### Manual (Nix)
+hy3's binary is availible as `${hy3.packages..hy3}/lib/libhy3.so`, so you can also
+directly use it in your hyprland config like so:
+
+```nix
+# ...
+wayland.windowManager.hyprland = {
+ # ...
+ extraConfig = ''
+ plugin = ${hy3.packages.x86_64-linux.hy3}/lib/libhy3.so
+ '';
+};
+```
+
+### Arch (AUR)
+There is an unofficial [hy3-git](https://aur.archlinux.org/packages/hy3-git) package,
+usable with the `hyprland-git` package.
+
+### Manual
+Install hyprland, including its headers and pkg-config file, then run the following commands:
+
+```sh
+cmake -DCMAKE_BUILD_TYPE=Debug -B build
+cmake --build build
+```
+
+The plugin will be located at `build/libhy3.so`, and you can load it normally
+(See [the hyprland wiki](https://wiki.hyprland.org/Plugins/Using-Plugins/#installing--using-plugins) for details.)
+
+Note that the hyprland headers and pkg-config file **MUST be installed correctly, for the target version of hyprland**.
## Configuration
Set your `general:layout` to `hy3` in hyprland.conf.
@@ -37,6 +120,9 @@ In your hyprland config replace the following dispatchers:
You can use `hy3:makegroup` to create a new split.
+The [dispatcher list](#dispatcher-list) and [config fields](#config-fields) sections have all the
+configuration options, and some explanation as to what they do.
+
### Config fields
```conf
plugin {
@@ -131,79 +217,3 @@ plugin {
- `wrap` - wrap to the opposite size of the tab bar if moving off the end
- `hy3:setswallow, ` - set the containing node's window swallow state
- `hy3:debugnodes` - print the node tree into the hyprland log
-
-## Installing
-
-### Nix
-#### Hyprland home manager module
-Assuming you use hyprland's home manager module, you can easily integrate hy3 by adding it to the plugins array.
-
-```nix
-# flake.nix
-
-{
- inputs = {
- nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
-
- home-manager = {
- url = "github:nix-community/home-manager";
- inputs.nixpkgs.follows = "nixpkgs";
- };
-
- hyprland.url = "github:hyprwm/Hyprland";
-
- hy3 = {
- url = "github:outfoxxed/hy3";
- inputs.hyprland.follows = "hyprland";
- };
- };
-
- outputs = { nixpkgs, home-manager, hyprland, hy3, ... }: {
- homeConfigurations."user@hostname" = home-manager.lib.homeManagerConfiguration {
- pkgs = nixpkgs.legacyPackages.x86_64-linux;
-
- modules = [
- hyprland.homeManagerModules.default
-
- {
- wayland.windowManager.hyprland = {
- enable = true;
- plugins = [ hy3.packages.x86_64-linux.hy3 ];
- };
- }
- ];
- };
- };
-}
-```
-
-#### Manual (Nix)
-hy3's binary is availible as `${hy3.packages..hy3}/lib/libhy3.so`, so you can also
-directly use it in your hyprland config like so:
-
-```nix
-# ...
-wayland.windowManager.hyprland = {
- # ...
- extraConfig = ''
- plugin = ${hy3.packages.x86_64-linux.hy3}/lib/libhy3.so
- '';
-};
-```
-
-### Arch (AUR)
-There is an unofficial [hy3-git](https://aur.archlinux.org/packages/hy3-git) package,
-usable with the `hyprland-git` package.
-
-### Manual
-Install hyprland, including its headers and pkg-config file, then run the following commands:
-
-```sh
-cmake -DCMAKE_BUILD_TYPE=Debug -B build
-cmake --build build
-```
-
-The plugin will be located at `build/libhy3.so`, and you can load it normally
-(See [the hyprland wiki](https://wiki.hyprland.org/Plugins/Using-Plugins/#installing--using-plugins) for details.)
-
-Note that the hyprland headers and pkg-config file **MUST be installed correctly, for the target version of hyprland**.