Tiling Window Managers

146 readers
1 users here now

A place to talk about tiling window managers

This community is not specific to any operating system or tiling window manager

Share sceenshots, videos, articles, tiling window managers (!), experience reports, have pleasant discussions and be excellent

Don’t be the worst

Rules

  1. Follow the lemmy.world instance rules

  2. No NSFW or borderline-NSFW content

  3. No vulgar language in user comments

  4. No holy wars

founded 2 years ago
MODERATORS
1
 
 

I put together a proof of concept for controlling a tiling window manager using voice commands.

Hopefully this can make twm workflows easier for people who suffer from RSI or for whom keyboard shortcuts are impractical.

I think that this approach can be replicated for any tiling window manager that exposes a CLI interface to send interaction messages (bspwm, yabai, etc)

2
 
 

To accompany the latest release of komorebi, I have created a brand new quickstart video!

https://github.com/LGUG2Z/komorebi/releases/tag/v0.1.17

3
 
 

So I use komorebi on Windows, yabai on macOS and bspwm on Linux. They are all kinda similar, but at the same time have different feature sets which make certain workflows possible on one but not the other.

How do you handle this problem if you are someone regularly switches between operating systems?

Personally, I've started restricting myself as much as possible to using just the features and workflows that can be reproduced across all operating systems and twms, so that when I switch, there isn't any one thing that I'm missing "too much" that the experience gets soured and my productivity tanks.

4
 
 

About

yabai is a window management utility that is designed to work as an extension to the built-in window manager of macOS. yabai allows you to control your windows, spaces and displays freely using an intuitive command line interface and optionally set user-defined keyboard shortcuts using ↗ skhd and other third-party software.

The primary function of yabai is tiling window management; automatically modifying your window layout using a binary space partitioning algorithm to allow you to focus on the content of your windows without distractions. Additional features of yabai include focus-follows-mouse, disabling animations for switching spaces, creating spaces past the limit of 16 spaces, and much more.

Installation and Configuration

  • The ↗ yabai wiki has both brief and detailed installation instructions for multiple installation methods, and also explains how to uninstall yabai completely.
  • Sample configuration files can be found in the ↗ examples directory. Refer to the ↗ documentation or the wiki for further information.
  • Keyboard shortcuts can be defined with ↗ skhd or any other suitable software you may prefer.

Requirements and Caveats

Please read the below requirements carefully. Make sure you fulfil all of them before filing an issue.

Requirement Note
Operating System Intel x86-64 Big Sur 11.0.1+ and Monterey 12.0.0+ is supported.
Operating System Apple Silicon Monterey 12.0.0+ is supported.
Accessibility API yabai must be given permission to utilize the Accessibility API and will request access upon launch. The application must be restarted after access has been granted.
Screen Recording yabai must be given Screen Recording permission if and only if you want to enable window animations, and will request access when necessary. The application must be restarted after access has been granted.
Mission Control In the Mission Control preferences pane in System Preferences, the setting "Displays have separate Spaces" must be enabled.

Please also take note of the following caveats.

Caveat Note
System Integrity Protection System Integrity Protection needs to be (partially) disabled for yabai to inject a scripting addition into Dock.app for controlling windows with functions that require elevated privileges. This enables control of the window server, which is the sole owner of all window connections, and enables additional features of yabai.
Code Signing When building from source (or installing from HEAD), it is recommended to codesign the binary so it retains its accessibility and automation privileges when updated or rebuilt.
Mission Control In the Mission Control preferences pane in System Preferences, the setting "Automatically rearrange Spaces based on most recent use" should be disabled for commands that rely on the ordering of spaces to work reliably.

License and Attribution

yabai is licensed under the ↗ MIT License, a short and simple permissive license with conditions only requiring preservation of copyright and license notices. Licensed works, modifications, and larger works may be distributed under different terms and without source code.

Thanks to @fools-mate for creating a logo and banner for this project and making them available for free.

Thanks to @dominiklohmann for contributing great documentation, support, and more, for free.

Disclaimer

Use at your own discretion. I take no responsibility if anything should happen to your machine while trying to install, test or otherwise use this software in any form. You acknowledge that you understand the potential risk that may come from disabling ↗ System Integrity Protection on your system, and I make no recommendation as to whether you should or should not disable System Integrity Protection.

5
12
submitted 2 years ago* (last edited 2 years ago) by LGUG2Z to c/tilingwindowmanagers
 
 

In the hope that other developers join this community, I'll get things rolling! I'm LGUG2Z and I'm the developer of komorebi for Windows which is heavily inspired by my experiences with bspwm and yabai 👋