Files
hyprland-toggle-tiling/README.org

80 lines
2.3 KiB
Org Mode

#+TITLE: hyprland-toggle-tiling
#+AUTHOR: Your Name
#+OPTIONS: toc:nil
A simple program to toggle tiling and floating modes for windows in the Hyprland Wayland compositor.
[[./demo.gif]]
* Features
- Quickly switch between tiling and floating modes for all windows on the active workspace.
- After switching, the program creates a hyprland config file to respect the new windowing mode.
Let's say you switched to tiling mode. From that point on, new windows will open in tiling mode as well.
Switch to floating mode again and newly opened windows will be in floating mode.
- Floating/tiling window rules are isolated between workspaces. You can set one workspace to be floating, and all the rest to tiling for example.
- Useful for workflows that require both tiling and floating window management.
- Lightweight and easy to integrate with your Hyprland setup.
* Installation
** Install from AUR
You may install this program [[https://aur.archlinux.org/packages/hyprland-toggle-tiling-git][from the AUR.]]
** Download the release
[[https://typofelho.ddns.net/TypoMustakes/hyprland-toggle-tiling/releases/tag/1.1.0][Download the release binary]].
** Compile from source
1. Clone this repository:
#+BEGIN_SRC shell
git clone https://typofelho.ddns.net/TypoMustakes/hyprland-toggle-tiling.git
#+END_SRC
2. Enter project directory:
#+BEGIN_SRC shell
cd hyprland-toggle-tiling/
#+END_SRC
3. Create build directory:
#+BEGIN_SRC shell
cmake -S . -B build/
#+END_SRC
4. Enter build directory:
#+BEGIN_SRC shell
cd build/
#+END_SRC
5. Build the projects:
#+BEGIN_SRC shell
cmake --build .
#+END_SRC
* Usage
#+BEGIN_SRC shell
./htt <config-file-path>
#+END_SRC
- If the specified configuration file does not exist, it will be created.
- If the configuration contains existing rules, this should still work, but your existing configuration will probably get a bit messy, syntax-wise. I advise against it.
* Integration with Hyprland
1. Whatever configuration path you specify, include it in your Hyprland config, like so:
~~/path/to/your/hyprland.conf~:
#+BEGIN_SRC conf
source = ~/path/to/specified/config/file.conf
#+END_SRC
2. Bind the script to a key in your Hyprland config:
#+BEGIN_SRC conf
bind = $mod + t, exec, /path/to/htt <config-file-path>
#+END_SRC
Or not. Do whatever you want.