Forge is a GNOME Shell extension that provides tiling/window management AND is looking for a new owner or maintainer:
- Works on GNOME 3.36+ (feature-freeze) and 40+. X11 and Wayland
 - Tree-based tiling with vertical and horizontal split containers similar to i3-wm and sway-wm
 - Vim-like keybindings for navigation/swapping windows/moving windows in the containers
 - Drag and drop tiling
 - Support for floating windows, smart gaps and focus hint
 - Customizable shortcuts in extension preferences
 - Some support for multi-display
 - Tiling support per workspace
 - Update hint color scheme from preferences
 - Stacked tiling layout
 - Swap current window with the last active window
 - Auto Split or Quarter Tiling
 - Show/hide tab decoration via keybinding forge-ext#180
 - Window resize using keyboard shortcuts
 
- Does not support dynamic workspaces
 - Does not support vertical monitor setup
 
- Build it yourself via 
make installormake dev. - Download from GNOME extensions website.
 - AUR Package - thanks to @Radeox
 - Fedora Package - thanks to @carlwgeorge
 
See the acceptable key combinations on the wiki
| Action | Shortcut | 
|---|---|
| Increase active window size left | <Ctrl> + <Super> + y | 
| Decrease active window size left | <Ctrl> + <Shift> + <Super> + o | 
| Increase active window size bottom | <Ctrl> + <Super> + u | 
| Decrease active window size bottom | <Ctrl> + <Shift> + <Super> + i | 
| Increase active window size top | <Ctrl> + <Super> + i | 
| Decrease active window size top | <Ctrl> + <Shift> + <Super> + u | 
| Increase active window size right | <Ctrl> + <Super> + o | 
| Decrease active window size right | <Ctrl> + <Shift> + <Super> + y | 
| Open preferences | <Super> + period | 
| Toggle tiling mode | <Super> + w | 
| Focus left | <Super> + h | 
| Focus right | <Super> + l | 
| Focus up | <Super> + k | 
| Focus down | <Super> + j | 
| Swap current window with last active | <Super> + Return | 
| Swap active window left | <Ctrl> + <Super> + h | 
| Swap active window right | <Ctrl> + <Super> + l | 
| Swap active window up | <Ctrl> + <Super> + k | 
| Swap active window down | <Ctrl> + <Super> + j | 
| Move active window left | <Shift> + <Super> + h | 
| Move active window right | <Shift> + <Super> + l | 
| Move active window up | <Shift> + <Super> + k | 
| Move active window down | <Shift> + <Super> + j | 
| Split container horizontally | <Super> + z | 
| Split container vertically | <Super> + v | 
| Toggle split container | <Super> + g | 
| Gap increase | <Ctrl> + <Super> + Plus | 
| Gap decrease | <Ctrl> + <Super> + Minus | 
| Toggle focus hint | <Super> + x | 
| Toggle active workspace tiling | <Shift> + <Super> + w | 
| Toggle stacked layout | <Shift> + <Super> + s | 
| Toggle tabbed layout | <Shift> + <Super> + t | 
| Show/hide tab decoration | <Ctrl> + <Alt> + y | 
| Activate tile drag-drop | Start dragging - Mod key configuration in prefs | 
| Snap active window left two thirds | <Ctrl> + <Alt> + e | 
| Snap active window right two thirds | <Ctrl> + <Alt> + t | 
| Snap active window left third | <Ctrl> + <Alt> + d | 
| Snap active window right third | <Ctrl> + <Alt> + g | 
| Persist toggle floating for active window | <Super> + c | 
| Persist toggle floating for active window and its window class | <Super><Shift> + c | 
For any shortcut conflicts, the user has to manually configure those for now from the
GNOME Control Center > Keyboard > Customize Shortcuts. forge-ext#37
- Window Overrides: 
$HOME/.config/forge/config/windows.json - Stylesheet Overrides: 
$HOME/.config/forge/stylesheet/forge/stylesheet.css 
GNOME Shell has built in support for workspace management and seems to work well - so Forge will not touch those.
User is encouraged to bind the following:
- Switching/moving windows to different workspaces
 - Switching to numbered, previous or next workspace
 
- The 
mainbranch contains gnome-4x code. - The 
legacyandgnome-3-36are the same and is now the source for gnome-3x. 
- Install NodeJS 16+
 - Install 
gettext - Run 
npm install - Commands:
 
# Compile and override the gnome-shell update repo
make dev
# Or run below, and restart the shell manually
make build && make debug && make install
# X11 - build from source and restarts gnome-shell
make test-x
# Wayland - build from source and starts a wayland instance (no restart)
make test-wayland
# Formatting, when you do npm install,
# husky gets installed should force prettier formatting during commit
npm run format- Please be nice, friendly and welcoming on discussions/tickets.
 - See existing Issues, or create a new Issue with the "Bug report" format if it doesn't exist.
 
Thank you to:
- Forge extension contributors
 - Michael Stapelberg/contributors for i3
 - System76/contributors for pop-shell
 - ReworkCSS/contributors for css-parse/css-stringify
 
