i prefer many of the xmonad defaults, here's how i create them through hyprland configuration. this is not comprehensive.
use the master layout:
general {
layout = master
}
master {
new_status = inherit
}
launch a new terminal:
bind = $mainMod & shift, return, exec, $terminal
moving focus between windows:
bind = $mainMod, j, layoutmsg, cyclenext loop
bind = $mainMod, k, layoutmsg, cycleprev loop
moving windows around:
bind = $mainMod & shift, j, layoutmsg, swapnext loop
bind = $mainMod & shift, k, layoutmsg, swapprev loop
this correctly swaps the focused window into the master position, but will swap the master window with the first window on the stack if the master window is already in focus:
bind = $mainMod, return, layoutmsg, swapwithmaster auto
changing layout:
bind = $mainMod, space, layoutmsg, orientationnext
adjust the ratio between master and stack:
bind = $mainMod, h, layoutmsg, mfact -0.04
bind = $mainMod, l, layoutmsg, mfact +0.04
this allows you to select any workspace on any monitor. however it does not swap workspaces when a currently visible workspace is selected on another monitor. it moves that workspace to the active monitor, and a different workspaceis displayed as its replacement. i don't know how to swap them...
bind = $mainMod, 1, moveworkspacetomonitor, 1 current
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, moveworkspacetomonitor, 2 current
bind = $mainMod, 2, workspace, 2
[...]