2021-06-27 08:15:25 +02:00
### why?
2021-06-27 08:57:56 +02:00
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.
2021-06-27 08:15:25 +02:00
`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.
2021-06-27 08:57:56 +02:00
A combination of `layout-machi` and `awesomewm-machina` will give you a similar experience to fancy zones on windows.
2021-06-27 08:15:25 +02:00
2021-06-27 09:01:59 +02:00
### what?
2021-06-27 08:15:25 +02:00
These are the features I added:
2021-06-27 09:11:08 +02:00
- Quick Expand:
2021-06-27 08:15:25 +02:00
Added feature, expands the focused client to left, right, or vertically.
2021-06-27 09:11:08 +02:00
- Directional Swapping:
2021-06-27 08:15:25 +02:00
Added feature, swaps clients between regions.
2021-06-27 09:11:08 +02:00
- Directional Shifting:
2021-06-27 08:15:25 +02:00
Relocate clients like Elv13's collision module
2021-06-27 09:11:08 +02:00
- Rotational Shifting:
2021-06-27 08:15:25 +02:00
Relocate clients clock wise or counter clock wise.
2021-06-27 09:11:08 +02:00
- Shuffling:
2021-06-27 09:01:59 +02:00
Go backward or forward in a region, and it will cycle the clients inside that area.
2021-06-27 09:11:08 +02:00
- Auto-Hide Floating Windows:
2021-06-27 08:15:25 +02:00
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.
2021-06-27 09:11:08 +02:00
- Floating and Tiled:
2021-06-27 09:04:42 +02:00
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.
2021-06-27 08:15:25 +02:00
2021-06-27 09:01:59 +02:00
### 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.
2021-06-10 16:28:28 +02:00
2021-06-27 09:01:59 +02:00
2021-06-27 09:04:42 +02:00
### problems?
2021-06-27 09:01:59 +02:00
If you have any issues, please feel free to open a request. PRs are most welcome.
### install
2021-06-10 16:28:28 +02:00
switch to your awesome config folder, typically at:
```
cd ~/.config/awesome
```
clone this repository:
```
2021-06-27 08:15:25 +02:00
git clone https://github.com/basaran/awesomewm-machina
2021-06-10 16:28:28 +02:00
```
and call it from your `rc.lua`
```lua
2021-06-27 08:15:25 +02:00
local machina = require('awesomewm-machina')()
2021-06-10 16:28:28 +02:00
```
2021-06-27 08:15:25 +02:00
some of the default shortcuts are:
2021-06-10 16:28:28 +02:00
```lua
2021-06-27 08:57:56 +02:00
modkey + [ : prev within region
modkey + ] : next within region
2021-06-10 16:55:06 +02:00
2021-06-27 08:57:56 +02:00
modkey + shift + [ : move to region (counter clock wise, infinite)
modkey + shift + ] : move to region (clock wise, infinite)
2021-06-10 16:55:06 +02:00
2021-06-27 08:57:56 +02:00
modkey + ; : swap with client on left (if any)
modkey + ' : swap with client on right (if any)
2021-06-27 08:15:25 +02:00
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
2021-06-11 01:20:09 +02:00
2021-06-27 08:57:56 +02:00
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
2021-06-10 18:42:39 +02:00
```
### Preview
2021-06-27 10:46:59 +02:00
https://user-images.githubusercontent.com/30809170/123538385-ab5f7b80-d702-11eb-9a14-e8b9045d9d27.mp4
2021-06-10 18:42:39 +02:00