• Stars
    star
    174
  • Rank 219,063 (Top 5 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created almost 3 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Spectacle/Rectangle for Windows: Hotkey-driven window snapping for Windows 10/11.

RectangleWin

A minimalistic Windows rewrite of macOS Rectangle.app/Spectacle.app. (Why?)

A hotkey-oriented window snapping and resizing tool for Windows.

This animation illustrates how RectangleWin helps me move windows to edges and corners (and cycle through half, one-thirds or two thirds width or height) only using hotkeys:

RectangleWin demo

Install

  1. Go to Releases and download the suitable binary for your architecture (typically x64).

  2. Launch the .exe file. Now the program icon should be visible on system tray!

  3. Click on the icon and mark as "Run on startup" to make sure you don't have to run it every time you reboot your PC.

Keyboard Bindings

  • Snap to edges (left/right/top/bottom ยฝ, โ…”, โ…“):

    • Win + Alt + โ†โ†’โ†‘โ†“
    • Press multiple times to alternate between ยฝ, โ…” and โ…“.
  • Corner snapping

    • Win + Ctrl + Alt + โ†: top-left ยฝ, โ…” and โ…“
    • Win + Ctrl + Alt + โ†‘: top-right ยฝ, โ…” and โ…“
    • Win + Ctrl + Alt + โ†“: bottom-left ยฝ, โ…” and โ…“
    • Win + Ctrl + Alt + โ†’: bottom-right ยฝ, โ…” and โ…“
  • Center window on the display: Win+Alt+C

  • Maximize window: Win+Shift+F (Obsolete since Windows natively supports Win+โ†‘)

  • Always On Top (toggle): Win+Alt+A

Why?

It seems that no window snapping utility for Windows is capable of letting user snap windows to edges or corners in {half, two-thirds, one-third} sizes using configurable shortcut keys, and center windows in a screen like Rectangle.app does, so I wrote this small utility for myself.

I've tried the native Windows shortcuts and PowerToys FancyZones and they are not supporting corners, alternating between half and one/two thirds, and are not offering enough hotkey support.

Roadmap

  • Configurable shortcuts: I don't need these and it will likely require a pop-up UI, so I will probably not get to this.

Development (Install from source)

With Go 1.17+ installed, clone this repository and run:

go generate
GOOS=windows go build -ldflags -H=windowsgui .

The RectangleWin.exe will be available in the same directory.

License

This project is distributed as-is under the Apache 2.0 license. See LICENSE.

If you see bugs, please open issues. I can't promise any fixes.

More Repositories

1

kubectx

Faster way to switch between clusters and namespaces in kubectl
Go
14,832
star
2

kubernetes-network-policy-recipes

Example recipes for Kubernetes Network Policies that you can just copy paste
5,638
star
3

go-linq

.NET LINQ capabilities in Go
Go
3,501
star
4

kubectl-aliases

Programmatically generated handy kubectl aliases.
Shell
3,346
star
5

kubectl-tree

kubectl plugin to browse Kubernetes object hierarchies as a tree ๐ŸŽ„ (star the repo if you are using)
Go
2,950
star
6

cloud-run-faq

Unofficial FAQ and everything you've been wondering about Google Cloud Run.
Shell
2,313
star
7

gke-letsencrypt

Tutorial for installing cert-manager on GKE get HTTPS certificates from Letโ€™s Encrypt (โš ๏ธNOW OBSOLETEโš ๏ธ)
622
star
8

govvv

"go build" wrapper to add version info to Golang applications
Go
535
star
9

kubectl-foreach

Run kubectl commands in all/some contexts in parallel (similar to GNU xargs+parallel)
Go
451
star
10

go-dexec

It's like Go os/exec package but for Docker. What if you could exec programs remotely with the same interface as os/exec?
Go
424
star
11

runsd

Drop-in Service Discovery capabilities for Google Cloud Run.
Go
409
star
12

personal-dashboard

๐Ÿ“Š Programmatically collecting and reporting various stats about myself daily
Go
337
star
13

gen-crd-api-reference-docs

API Reference Docs generator for Kubernetes CRDs (used by Knative, Kubeflow and others)
Go
294
star
14

wagl

๐Ÿ DNS Service Discovery for Docker Swarm. Works out of the box. (NOW OBSOLETE, USE SWARM MODE)
Go
284
star
15

serverless-registry-proxy

Serverless reverse proxy for exposing container registries (GCR, Docker Hub, Artifact Registry etc) on custom domains.
Go
256
star
16

orman

lightweight and minimalist ORM for Java/Android. works with SQLite & MySQL. (not actively maintained)
Java
249
star
17

sheets-url-shortener

A simple short URL redirect service built on top of Google Sheets, and runs for cheap on Google Cloud Run serverless.
Go
180
star
18

In-Stock

๐Ÿ“ฑ Is the new iDevice in town yet? (no longer maintained)
Objective-C
158
star
19

go-httpbin

http://httpbin.org endpoints for your Go tests
Go
121
star
20

dotfiles

Ahmet's dotfiles and macOS customizations
Shell
120
star
21

kubectl-extras

A collection of mini plugins for kubectl.
Shell
117
star
22

kubectl-pods_on

kubectl plugin to query Pods by Node names or selectors
Go
116
star
23

twitter-audit-log

Back up Twitter follow/mute/block lists periodically using GitHub Actions
Go
92
star
24

goodbye

Notify yourself when someone unfollows you on Twitter
Go
87
star
25

cloud-run-multi-region-terraform

Deploy a Cloud Run app to all available regions using Terraform.
HCL
80
star
26

azurefs

Mount Microsoft Azure Blob Storage as local filesystem in Linux (inactive)
Python
70
star
27

cloud-run-iap-terraform-demo

Deploy an IAP-secured application to Cloud Run using Terraform (e.g. an admin portal or internal company app)
HCL
69
star
28

baklava

Go
65
star
29

kubectl-cond

kubectl plugin to print Kubernetes resource conditions
Go
55
star
30

cloud-run-travisci

Example config for deploying from Travis CI to Google Cloud Run
Python
54
star
31

go-cursor

ANSI escape code helpers for Go
Go
53
star
32

public-speaking

@ahmetb's public speaking engagements & bio
52
star
33

multi-process-container-lazy-solution

Sample code accompanying the blog post:
Python
51
star
34

cloudrun-iamviz

Visualize call permissions between Cloud Run services
Go
48
star
35

serverless-url-redirect

Simple click-to-deploy serverless URL redirect service
Shell
39
star
36

goclone

Clone Go projects to a clean GOPATH and start hacking right away.
Shell
35
star
37

coffeelog

Sample multi-tier cloud-native application hosted on Google Kubernetes Engine (GKE)
Go
34
star
38

skaffold-from-laptop-to-cloud

Docker Voting App deployed to Kubernetes with Skaffold 3 different ways
JavaScript
32
star
39

multi-process-container

Example docker container image with multiple services supervised by s6 init process
Shell
29
star
40

cloud-run-static-outbound-ip

[DEPRECATED] Sample code for Cloud Run to use a static IP for outgoing requests via a SSH tunnel over a GCE instance
Python
29
star
41

dlog

Go library to parse the Docker Logs stream
Go
28
star
42

rundev

(alpha, contact me if youโ€™re using)
Go
28
star
43

coredns-grpc-backend-sample

Sample CoreDNS gRPC proxy backend written in Go
Go
26
star
44

zone-printer

Small web app to print Google Cloud compute region itโ€™s deployed to
Go
25
star
45

ytaudio

Go
25
star
46

turkish-deasciifier-java

Turkish deASCIIfier library for Java
Java
24
star
47

qs

URL query parameters from Go structs
Go
22
star
48

kcat

Syntax highlighting for Kubernetes manifests [WIP]
Go
19
star
49

cloud-run-deploy-via-api-go

Go
18
star
50

docker-registry-driver-azure

[โš ๏ธDO NOT USE THIS - DEPRECATED โš ๏ธ] Docker Registry โ€“ Azure Blob Storage Driver
Python
17
star
51

dailybbble

Archiving and serving what is popular on Dribbble every day
Python
13
star
52

twitch-bot

Go
13
star
53

docker-chocolatey

Chocolatey 'docker' package
PowerShell
12
star
54

comcasted

Are you being โ€œComcast-edโ€? Test your speed every 5min and see if you're getting what you're paying.
Python
12
star
55

sorucevap

Go
11
star
56

open-diary-format

Because all diary keeping apps suck. Here's a standard format.
11
star
57

ytdl

Serverless video downloader app (using youtube-dl)
Go
11
star
58

Spark.NET

Wicked โ–โ–‚โ–ƒโ–…โ–‚โ–‡ in your C# programs
C#
10
star
59

permalinker

Right click โ†’ Save to cloud โ†’ Permalink on your clipboard
Python
10
star
60

kubectl-runbridge

Go
9
star
61

radyo

a js radio plays similar tracks using last.fm & youtube. for my personal usage.
9
star
62

tfjs-cloudrun

JavaScript
9
star
63

kubernetes-secrets-propagation-delay

Go
8
star
64

leetcode-solutions

my solutions to http://leetcode.com/onlinejudge problems
Java
7
star
65

gophercon-ist

7
star
66

tmdb-downloader

Downloads tmdb movies data sequentially and saves to mongodb
Python
7
star
67

sample-bundle-deployment-controller

A sample CRD that deploys a bundle of arbitrary Kubernetes resources with pruning/kustomization capabilities.
Go
7
star
68

simplegauges

Practical time series gauges for daily stats (used in personal-dashboard project)
Python
6
star
69

kubectl-runproxy

๐Ÿงช[experimental]โ˜ข๏ธ a local k8s apiserver to make Cloud Run API work with kubectl (don't use this)
Go
4
star
70

cloudrun-socketio-whiteboard

JavaScript
4
star
71

mysqlbackup

simple python script to get gzipped mysql dumps with easy connection strings
4
star
72

hizlisozluk

Hizli Sozluk Android app
Java
3
star
73

futuremedium-resizer

a handy proportional image resizer and cropper for Java
Java
3
star
74

blobmetadb

Watches your applicationโ€™s Microsoft Azure Blob Storage requests and keeps record of your blobs on Redis.
C#
3
star
75

instagger

Lamest tool ever. Adds and removes hashtags to your instagram posts.
Go
2
star
76

orman-demos

demo projects playground for orman framework
Java
2
star
77

permalinker-chrome

Chrome extension for Permalinker. Right click any image on the web โ†’ Save to cloud โ†’ Share link with friends
JavaScript
2
star
78

cs352project

a useless CS 352 CRUD term project. uploading only for code storage purposes.
PHP
2
star
79

orman-clickgame

a click game implemented with orman and sqlite
Java
2
star
80

github-activity-recorder

2
star
81

swap

file name swapping utility for Unix systems
C
2
star
82

home-ac-stats

Push stats from Sensibo AC controller to Google Cloud Monitoring
Go
2
star
83

runstatic

Go
1
star
84

krew-index-autoapprove

Go
1
star
85

blog-docker

Docker image for my blog's nginx server ๐ŸŒต
Nginx
1
star
86

kubectl-colorful

Shell
1
star
87

rtmpsave

Listens to a RTMP stream, encodes to specified audio format and uploads audio to Azure Blob Storage
Go
1
star
88

yayinakisi

Yayin Akisi Android App
Java
1
star
89

colorify

colorify windows phone 7 app
C#
1
star