Scripts and config files to make a virtual "grid" out of sway workspaces
- Shell 100%
| config.d | ||
| init.sh | ||
| install.sh | ||
| LICENSE | ||
| README.md | ||
| swaygrid.conf | ||
| workspace_grid.sh | ||
swaygrid
scripts and config files to make and navigate a virtual "grid" out of sway workspaces
Features
- customizable size, including unlimited
- multi monitor support
- automatically tagging workspaces per monitor either their number or name, changable in swaygrid.conf
- automatic install script
- enabling and disabling modules
- moving containers between workspaces
- moving your focus with container between workspaces, toggleable
- using number keys to directly go to x or y values
- touchpad gestures
- locking modes
- $mod+Ctrl+Q to enable locking mode, $mod+Ctrl+q to disable it
- when in locking mode, on multi monitor setups every output will keep the same workspace coordinates
Installation
Dependencies
- bash >4.0 or smth
- sway
Process
WARNING: read over install.sh to make sure it won't screw with your existing config. altneratively, do manualy installation.
git clone https://git.meows.gay/eris/swaygrid
cd swaygrid
./install.sh
or, manually
- make sure
include ~/.config/sway/config.d/*is in your sway config. - move
workspace_grid.sh,init.sh, andswaygrid.confto~/.config/sway/ - move the files in the
config.d/directory of this repository to~/.config/sway/.config.d/(this directory may need to be created). all are optional exceptinit. edit them to your satisfaction.
initsets up things necessary to make this work, like variables and config options.moveactivates moving between workspaces with $mod+Ctrl+[direction keys].move_containeractivates moving the current container with $mod+Alt+[direction keys].touchpad_moveactivates moving between workspaces with touchpad gestures (3 fingers by default)touchpad_move_containeractivates moving the current container with touchpad gestures (4 fingers by default)direct_moveactivates direct movments of focus to numbered x ($mod+[number]) or y ($mod+Ctrl+[number]) values.direct_move_containeractivates direct movments of containers to numbered x ($mod+Alt+[number]) or y ($mod+Ctrl+Alt+[number]) values.multi_monitor_modesenables keybinds to change locking mode.
- reload sway
Known Issues
- none at the moment! :3
Coming Soon™
- more config options
Documentation (?)
the workspace_grid.sh script takes 2 mandatory arguments: <workspace> <action> [value]
<workspace> can be:
x/ysets the workspace x or y value to[value]left,right,up, ordown: moves left (x-[value]), right (x+[value]), up (y-[value]), or down (y+[value])
<action> can be:
go: moves the focus to the specified workspacemove: moves the current container to the specified workspace- if
moveWithContainersistrue, this moves focus as well
- if
[value] optional if <workspace> is a direction , required if <workspace> is x or y:
- if direction given for
<workspace>,[value]is the number of workspaces to move in the specific direction (defaults to one if not given) - if
xorygiven for<workspace>,[value]is the coordinate of the workspace to move to
Configuration
all config options are KEY=VALUE
| option | values | default | explanation |
|---|---|---|---|
minX |
any integer | 1 |
minimum x value for the grid, set to a non integer to unlimit |
maxX |
any integer >= minX |
10 |
maximum x value for the grid, set to a non integer to unlimit |
minY |
any integer | 1 |
minimum y value for the grid, set to a non integer to unlimit |
maxY |
any integer >= minY |
10 |
maximum y value for the grid, set to a non integer to unlimit |
useOutputNumber |
true/false |
true |
if true, the end_tag for multi monitor setups is the output number. if false, it uses the output name. |
startX |
any integer | 1 |
workspace x value to start at on boot |
startY |
any integer | 1 |
workspace y value to start at on boot |
defaultMultiMonitorMode |
locked/free |
locked |
if locked, all monitors will keep the same workspace coordinates when you change focus. this can be changed on-the-fly with a keybind. |
moveWithContainers |
true/false |
true |
if true, moving a container also moves your focus |