Skip to content

Commit

Permalink
modified: docs/guide.md
Browse files Browse the repository at this point in the history
  • Loading branch information
nikitabobko committed Nov 2, 2023
1 parent e799cb3 commit c756c37
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 9 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
/.build
# IDK, AppCode randomly creates this EMPTY file. I have no idea what this is
/default.profraw
/.DS_Store

# XCode User settings
xcuserdata/
44 changes: 35 additions & 9 deletions docs/guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -123,10 +123,14 @@ enable-normalization-opposite-orientation-for-nested-containers = false
```

### Floating windows
TODO DOCUMENTATION

Normally, floating windows are not part of the tiling tree. But it's not the case with `focus` command. From `focus` command
perspective, floating windows are part of the tree.
Normally, floating windows are not considered to be part of the [tiling tree](#tree). But it's not the case with
[`focus`](./commands.md#focus) command.

From [`focus`](./commands.md#focus) command perspective, floating windows are part of [the tree](#tree). The floating window
parent is determined as the smallest tiling container that contains the center of the floating window.

This technique eliminates the need for an additional binding for focusing floating windows.

## Default keybindings

Expand All @@ -150,14 +154,37 @@ AeroSpace is controlled by commands. For more info see [the list of all availabl

## Emulation of virtual workspaces

The supposed workflow is to only have one macOS Space (or as many as monitors you have) and don't interact with macOS spaces in
any way
Native macOS Spaces have a lot of problems.

- The animation for Spaces switching is slow
- You can't disable animation for Spaces switching (you can only make it slightly faster by turning on `Reduce motion` setting,
but it's suboptimal)
- You have a limit of Spaces (up to 16 Spaces with one monitor)
- You can't create, delete, reorder Spaces with hotkeys
- Apple doesn't provide public API to create, delete, reorder and switch Spaces

Since Spaces are so hard to deal with, AeroSpace introduces it's own concept - workspaces. Basically, workspaces are an emulation
of Spaces. If the workspace isn't active then all of the windows of that workspace are placed outside of the visible area of the
screen. Once you switch back to a workspace, (by the means of binding, or by choosing the workspace in the tray icon list) windows
are placed back to the visible area of the screen.

When user quits AeroSpace or before crashing, AeroSpace puts windows back to the center of the screen
When you exit the AeroSpace or when the AeroSpace is about to crash, AeroSpace will place all windows back to the visible area of
the screen.

> [!NOTE] For better or worse, macOS doesn't allow to place windows outside of the visible area entirely. You will still be able
> to see a few pixels of "hidden" windows in the bottom right corner of your screen. That means, that if AeroSpace crashes badly
> you will still be able to manually "unhide" the windows by dragging these few pixels to the center of the screen.
The supposed workflow is to only have one macOS Space (or as many as monitors you have, if 'Displays have separate Spaces' is
enabled) and don't interact with macOS Spaces anymore.

### A note on mission control
TODO DOCUMENTATION
Enable 'Group windows by application'

For some reason, mission control doesn't like that AeroSpace puts a lot of windows in the bottom right corner of the screen.
Mission control shows windows too small even if it has enough space to show them bigger.

To workaround it, you can enable `System Settings -> Desktop & Dock -> Group windows by application` setting. For some weird
reason, it helps.

### A note on 'Displays have separate Spaces'

Expand All @@ -174,6 +201,5 @@ Overview of 'Displays have separate Spaces'


## Multiple displays
TODO DOCUMENTATION
TODO DOCUMENTATION. Add difference with i3

0 comments on commit c756c37

Please sign in to comment.