Go to file
anakha 0db186ae36 bug fix 2021-06-27 05:59:19 -04:00
.gitignore v2 2021-06-27 01:48:46 -04:00
README.md Update README.md 2021-06-27 04:46:59 -04:00
init.lua v2 2021-06-27 02:15:25 -04:00
methods.lua bug fix 2021-06-27 05:59:19 -04:00

README.md

why?

Layout-machi is great, however it requires you to use its built-in switcher to manage your open windows. If you are shuffling, swapping, and moving things around often, this could become counter productive.

Machina is built on top of layout-machi, and allows you to bind frequently used actions to your keys and gives you additional user friendly features.

A combination of layout-machi and awesomewm-machina will give you a similar experience to fancy zones on windows.

what?

These are the features I added:

  • Quick Expand: Added feature, expands the focused client to left, right, or vertically.

  • Directional Swapping: Added feature, swaps clients between regions.

  • Directional Shifting: Relocate clients like Elv13's collision module

  • Rotational Shifting: Relocate clients clock wise or counter clock wise.

  • Shuffling: Go backward or forward in a region, and it will cycle the clients inside that area.

  • Auto-Hide Floating Windows: Often times, the floating windows pollutes your background if you are using useless-gaps. Machina will hide those for you, but they can still be accessed through your window-switcher such as Rofi.

  • Floating and Tiled: All keybindings, including swapping work seamlessy on both the tiled and the floating windows. So, if you need to push that terminal to a corner, you can easily do so without changing it to tiling mode.

next?

The region shuffling works like tabs, but it would be nice to have a visual queue like tabs. That will be in the next version.

problems?

If you have any issues, please feel free to open a request. PRs are most welcome.

install

switch to your awesome config folder, typically at:

cd ~/.config/awesome

clone this repository:

git clone https://github.com/basaran/awesomewm-machina

and call it from your rc.lua

local machina = require('awesomewm-machina')()

some of the default shortcuts are:

modkey + [ : prev within region
modkey + ] : next within region

modkey + shift + [ : move to region (counter clock wise, infinite)
modkey + shift + ] : move to region (clock wise, infinite)

modkey + ; : swap with client on left (if any)
modkey + ' : swap with client on right (if any)

modkey + insert : quick expand to left side (toggle)
modkey + pageup : quick expand to right side (toggle)

modkey + home : center (float or tiled)
modkey + end : toggle float

modkey + delete : expand client vertically

modkey + j : focus left
modkey + k : focus down
modkey + l : focus right
modkey + i : focus up

modkey + shift + j : move to left region
modkey + shift + k : move to down region
modkey + shift + l : move to right region
modkey + shift + i : move to up region

Preview

https://user-images.githubusercontent.com/30809170/123538385-ab5f7b80-d702-11eb-9a14-e8b9045d9d27.mp4