Add some details to README.md
This commit is contained in:
parent
e8f36057f4
commit
1a13229343
3 changed files with 23 additions and 5 deletions
21
README.md
21
README.md
|
@ -9,7 +9,14 @@ Planned features and fixes include closing windows from within swaymux without s
|
||||||
|
|
||||||
|
|
||||||
# Installing
|
# Installing
|
||||||
Swaymux is packaged as a nix flake. To install it, add the flake input, e.g. using the following snippet:
|
## Requirements
|
||||||
|
This system expects the `$SWAY_SOCK` environment variable to be set and the associated socket to be bindable. If that isn't the case, this program will fail to launch.
|
||||||
|
Further, on Nix and NixOS the runtime dependencies should already be packaged. For any other system i currently do not have a good way to test, but a valid QT QPA platform plugin should be all that is needed runtime.
|
||||||
|
|
||||||
|
## Nix and NixOS
|
||||||
|
Swaymux is packaged as a nix flake. It can be tested using `nix run git+https://git.grimmauld.de/Grimmauld/swaymux`, this will build and launch swaymux in a temporary environment that will be removed at next garbage collect in store.
|
||||||
|
|
||||||
|
To install swaymux permanently, add the flake input, e.g. using the following snippet:
|
||||||
```nix
|
```nix
|
||||||
swaymux = {
|
swaymux = {
|
||||||
url = "git+https://git.grimmauld.de/Grimmauld/swaymux";
|
url = "git+https://git.grimmauld.de/Grimmauld/swaymux";
|
||||||
|
@ -23,11 +30,21 @@ environment.systemPackages = [
|
||||||
inputs.swaymux.packages."${system}".default
|
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.
|
If you want to directly copy this, keep in mind you'll need to make the system and inputs constants available, e.g. by setting `specialArgs = { inherit inputs system; };` as part of your nixosSystem definition in your systems flake.
|
||||||
|
|
||||||
|
## Other systems
|
||||||
|
This project uses cmake and requires the [nlohman json library](https://github.com/nlohmann/json) as well as QT6.
|
||||||
|
Last time I tested, both GCC and clang compilers worked. Therefore, the classic installation process with cmake, make and make install should just work, though I currently do not have a good way to test.
|
||||||
|
|
||||||
|
|
||||||
|
## Integrating with sway
|
||||||
Once the package is available, it can be made available in sway by keybinding. Setting swaymux to be floating is recommended.
|
Once the package is available, it can be made available in sway by keybinding. Setting swaymux to be floating is recommended.
|
||||||
```sway
|
```sway
|
||||||
for_window [app_id="swaymux"] floating enable
|
for_window [app_id="swaymux"] floating enable
|
||||||
bindsym $mod+c exec swaymux
|
bindsym $mod+c exec swaymux
|
||||||
```
|
```
|
||||||
Available key bindings can be viewed in-App.
|
Available key bindings can be viewed in-App.
|
||||||
|
|
||||||
|
# Developing
|
||||||
|
On Nix, the flake makes `nix develop` available, which provides a development environment with all the required dependencies. It does however not provide an IDE by itself.
|
||||||
|
On any other system, or if you don't like `nix develop`, the standard way of developing cmake based c++ projects should work. Just make sure both compile and runtime dependencies are available.
|
|
@ -22,6 +22,7 @@
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
# base toolchain
|
# base toolchain
|
||||||
gcc12
|
gcc12
|
||||||
|
clang
|
||||||
libgcc
|
libgcc
|
||||||
qt6.full
|
qt6.full
|
||||||
qtcreator
|
qtcreator
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayoutTree">
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QTreeView" name="treeView">
|
<widget class="QTreeView" name="treeView">
|
||||||
<property name="font">
|
<property name="font">
|
||||||
|
@ -58,7 +58,7 @@
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayoutKeys">
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QTableView" name="tableView">
|
<widget class="QTableView" name="tableView">
|
||||||
<property name="font">
|
<property name="font">
|
||||||
|
|
Loading…
Reference in a new issue