Skip to content

HrushiYadav/win-rectangle

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

win-rectangle

keyboard-driven window manager for windows, inspired by rectangle for macos.

snap, resize, and move windows using hotkeys. supports halves, thirds, quarters, sixths, eighths, ninths, multi-monitor, drag-snap, gap sizing, and more.

features

  • window snapping — halves, thirds, quarters, sixths, eighths, ninths
  • size cycling — press the same shortcut to cycle through sizes
  • drag-snap — drag windows to screen edges to snap them
  • multi-monitor — move windows between displays with shortcuts
  • configurable gaps — adjustable gaps between snapped windows
  • system tray — runs in the background, launch on login
  • restore history — undo window position changes
  • multi-window — tile all, cascade all, tile active app windows
  • preferences ui — customize hotkeys, gaps, and behavior

default shortcuts

shortcut action
ctrl+alt+left left half
ctrl+alt+right right half
ctrl+alt+up top half
ctrl+alt+down bottom half
ctrl+alt+enter maximize
ctrl+alt+c center
ctrl+alt+backspace restore previous position
ctrl+alt+d first third
ctrl+alt+f center third
ctrl+alt+g last third
ctrl+alt+n next display
ctrl+alt+p previous display

all shortcuts are customizable through the preferences window.

supported layouts

  • halves — left, right, top, bottom, center
  • quarters — top-left, top-right, bottom-left, bottom-right
  • thirds — first, center, last, first two-thirds, last two-thirds
  • vertical thirds — top, middle, bottom
  • fourths — first through last, combinations
  • sixths — 2x3 grid positions
  • eighths — 2x4 grid positions
  • ninths — 3x3 grid positions

tech stack

  • c# / .net 8.0
  • wpf (ui + system tray)
  • win32 api (window manipulation via p/invoke)

building from source

prerequisites

  • windows 10+
  • .net 8.0 sdk

build & run

dotnet build
dotnet run

create standalone executable

dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true

output: bin/Release/net8.0-windows/win-x64/publish/RectangleWindows.exe

project structure

App.xaml / App.xaml.cs           # application entry point
MainWindow.xaml                  # main window (hidden, hosts hotkey listener)
PreferencesWindow.xaml           # settings ui
ShortcutRecorderDialog.xaml      # custom hotkey input dialog
WindowManager.cs                 # core win32 window manipulation
WindowCalculation.cs             # position/size math for all layouts
WindowAction.cs                  # enum of all 90+ window actions
HotkeyManager.cs                 # global hotkey registration
DragSnapManager.cs               # drag-to-edge snapping
MultiWindowManager.cs            # tile/cascade multiple windows
WindowHistory.cs                 # undo/restore positions
SystemTrayIcon.cs                # notification area icon + menu
AppSettings.cs                   # preferences persistence
HotkeyBinding.cs                 # shortcut key binding model
FootprintWindow.xaml             # snap preview overlay
LaunchOnLogin.cs                 # startup registry entry
TodoManager.cs                   # todo mode layout

license

MIT

About

a fully vibecoded app similar to rectangle but for windows to Move and resize windows

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors