From 7dabcbb621269ecbe81922efdd6bcfdee19fc5b9 Mon Sep 17 00:00:00 2001 From: LordGrimmauld Date: Sat, 9 Mar 2024 21:06:24 +0100 Subject: [PATCH] Add README.md --- README.md | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..d954053 --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +# What's this? +Swaymux aims at making navigation in sway easier. To achieve this, swaymux provides a main interface listing the full tree of outputs, workspaces, containers, as well as the scratchpad. +This main interface is primarily inspired by tmux. +Swaymux can be navigated using the keyboard, with keybindings that closely follow the tmux bindings. + +This project is *not* feature-complete, far from it. So far swaymux supports listing and navigating into outputs, workspaces and containers, creating a new workspace, or creating a workspace with all currently marked containers. + +Planned features and fixes include closing windows from within swaymux without specifically jumping to them, better keyboard navigation through the sway tree in the main interface, a closer look at performance tweaking, as well as maybe even iconification of containers where applicable. + + +# Installing +Swaymux is packaged as a nix flake. To install it, add the flake input, e.g. using the following snippet: +```nix +swaymux = { + url = "git+https://git.grimmauld.de/Grimmauld/swaymux"; + inputs.nixpkgs.follows = "nixpkgs"; +}; +``` +Make sure you can request inputs as part of where you install it. +Adding swaymux to the actual system then is as easy as putting it into your packages: +```nix +environment.systemPackages = [ + inputs.swaymux.packages."${system}".default +]; +``` +Keep in mind you'll need to make the system constant available, e.g. by setting `specialArgs = { inherit inputs system; };` as part of your nixosSystem definition in your systems flake. + +Once the package is available, it can be made available in sway by keybinding. Setting swaymux to be floating is recommended. +```sway +for_window [app_id="swaymux"] floating enable +bindsym $mod+c exec swaymux +``` +Available key bindings can be viewed in-App. \ No newline at end of file