Window manager for windows written purely in C# thats simple, lightweight and portable.
- Workspaces
- Workspace animations (Horizontal and vertical)
- Dynamic Tiling :
Dwindle - Toggle floating
- Close focused window
- Shift focus
- Configuration using json
- Hot reloading
- Qerry state using websocket and execute commands
- Launch apps using hotkeys
Download the latest release from releases and run it.
For live debug output, run from a terminal (cmd.exe or pwsh.exe).
Configuration file aviyal.json will be created at first run. You can modify the default settings there,
including adding new keybindings etc. Look at the example config file here
FOCUS NEXT WORKSPACE:LCONTROL, LSHIFT, LFOCUS PREVIOUS WORKSPACE:LCONTROL, LSHIFT, HFOCUS WINDOW RIGHT:LCONTROL, LFOCUS WINDOW LEFT:LCONTROL, HFOCUS WINDOW TOP:LCONTROL, KFOCUS WINDOW BOTTOM:LCONTROL, JSHIFT WINDOW NEXT WORKSPACE:LMENU (ALT), LSHIFT, LSHIFT WINDOW PREVIOUS WORKSPACE:LMENU (ALT), LSHIFT, HSWAP WINDOW RIGHT:LMENU (ALT), LSWAP WINDOW LEFT:LMENU (ALT), HRESTART APPLICATION:LCONTROL, LSHIFT, R(hot reload for config)REFRESH TILING:LCONTROL, LSHIFT, U
By default 9 workspaces are initialized.
Aviyal is built using a custom C# Aot compiler called as dflat
If you have dflat in path, building is as simple as:
git clone https://github.com/TheAjaykrishnanR/aviyal
cd aviyal/Src
./Build.ps1
You will find the aot compiled executable at bin\aviyal.exe
For development ease, such as LSP a dotnet csproj file is also provided which allows language
support in neovim by roslyn. This allows you to build aviyal just like any other dotnet application.
If thats what you prefer, build it as:
git clone https://github.com/TheAjaykrishnanR/aviyal
cd aviyal/Src
dotnet build
You can find the executable at bin\Debug\net*\win-x64
PRs welcome !