forge-ext / forge

Forge - Tiling and Window Manager for Gnome-Shell
GNU General Public License v3.0
838 stars 41 forks source link
gnome gnome-extension gnome-shell gnome-shell-extension linux tiling window-management window-manager

Forge

Forge is a GNOME Shell extension that provides tiling/window management.

Features

Known Issues / Limitations

Installation

image

Forge Keybinding Defaults

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. https://github.com/forge-ext/forge/issues/37

Forge Override Paths

GNOME Defaults

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:

Development

Local Development Setup

# 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

Contributing

Credits

Thank you to: