Updated README.md
Updated the README to contain addition Issues & Limitations. Added entry about features of AWM - the WM itself and fullscreen mode. Fixed typos and spelling.
This commit is contained in:
parent
571e595c3b
commit
17c1dfb9db
35
README.md
35
README.md
|
|
@ -32,7 +32,7 @@ file. But the short version is as followed:
|
|||
|
||||
- When `awm` is executed, it will go and find all windows associated with
|
||||
Alacritty (up to 4 at most).
|
||||
- Once it has found the windows, it organise them based on a set of predefined
|
||||
- Once it has found the windows, it organises them based on a set of predefined
|
||||
configurations depending on the number of windows found.
|
||||
- This occurs simultaneously to give a smooth organisation transition for any
|
||||
number of Alacritty terminal windows.
|
||||
|
|
@ -48,7 +48,7 @@ placing it somewhere in your local user-space and adding that to your path. You
|
|||
may wish to keep the compiled binary in the repo and have your path point to that
|
||||
location.
|
||||
|
||||
Compiling can be performed with any compiler. There's no linking of other libries
|
||||
Compiling can be performed with any compiler. There's no linking of other libraries
|
||||
or C++ source files, assuming that the appropriate header files are installed to
|
||||
the system, it should just compile.
|
||||
|
||||
|
|
@ -95,7 +95,21 @@ Alacritty windows accordingly.
|
|||
**Note:** AWM does not listen for when Alacritty windows are created or destroyed.
|
||||
It simply organises windows it's able to collect in a tiled manner when told to.
|
||||
|
||||
## AWM Features
|
||||
AWM comes with a couple different features, notably the WM itself.
|
||||
- Window Manager – the core functionality of AWM. This goes without say that it's
|
||||
the biggest and primary feature of AWM (AWM does what it says on the tin). It
|
||||
supports up to four layouts of Alacritty instances, but does not organise new
|
||||
Alacritty windows.
|
||||
- Fullscreen Terminals – AWM supports toggling Alacritty terminals into fullscreen.
|
||||
This doesn't hide the taskbar, nor consume the entire desktop work area, but it does
|
||||
take up majority of the desktop. This allows for greater focus and work area within
|
||||
a selected terminal, hiding other windows behind. Run `awm --fullscreen` to toggle
|
||||
this behaviour. When exiting fullscreen, the window will be placed back in its
|
||||
original tiled configuration with other Alacritty instances.
|
||||
|
||||
## Known Issues & Limitations
|
||||
### With AWM Itself
|
||||
As discussed in the note above, and elsewhere, AWM **does not** add event hooks
|
||||
to the system, or listen to any event hooks that might trigger when an Alacritty
|
||||
window is created or destroyed. For this reason, AWM must be manually told when
|
||||
|
|
@ -109,6 +123,23 @@ Manager is open, AWM will fail to organise the windows due to Task Manager. It's
|
|||
currently unknown why this bug exists without `-O3`, and doesn't with the flag,
|
||||
but it can be easily avoided with the `-O3` flag using `g++`. A future patch may
|
||||
be applied to this in the future.
|
||||
### Due to Alacritty
|
||||
It seems that there might be a few issues as a result of Alacritty (or perhaps
|
||||
within the dependencies it uses). Firstly, after some more in-depth experimentation
|
||||
of the Win32 API, it seems as though Alacritty does not set the correct flags on a
|
||||
window defined in the API to indicate that a window is minimised. This makes it
|
||||
impossible for AWM to correctly filter non-viewable terminals out of organisation.
|
||||
### Shared & Due to Knowledge
|
||||
When a new window is created in Alacritty, it simply spawns a new Console Host
|
||||
program (`conhost.exe`). This is specific to Windows and whose purpose is out of
|
||||
the scope of this document. However, it means that a single `alacritty.exe` program
|
||||
exists with multiple conhost applications running PowerShell. From experiments,
|
||||
you can't simply change the window's context of conhost apps without causing some
|
||||
mischievious behaviour. A conhost app will refer back to Alacritty in some way,
|
||||
but it's not possible to refer to Alacritty for changing the context of a window.
|
||||
Or at least, it's not possible with the current knowledge of the project. Alacritty
|
||||
might be behaving exactly as intended of Windows' apps, but as it stands, AWM
|
||||
cannot organise new windows of Alacritty, only new instances.
|
||||
|
||||
## Licence
|
||||
This project is licenced until the GNU GPLv3+ licence agreement, which can be
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user