HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
peterklijn
hammerspoon-shiftit
Lua2023–2026
peterklijn / hammerspoon-shiftit

hammerspoon-shiftit

A ShiftIt like Hammerspoon window management configuration

3Distinct people
5Mentions
0Explicit recommenders
506GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A ShiftIt like Hammerspoon window management configuration

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year5 dated mentions

Observed mentions: 2023-04-24 01:24:29 UTC to 2026-03-13 23:06:17 UTC.

0122023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20242025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC202

What Hacker News says

5 sources
if you read HN a lot, then it makes sense to have have native app for it you might not be aware of how how much power is at your fingertips on a Mac with a tool like Hammerspoon plus some other utilities obviously you can bind the app with it's own shortcut without calling my entire browser, but I can move it to any part of any of my monitors easy with my one handed shortcuts: https://gist.github.com/pazimzadeh/b1c70f5f205d0b63264e7c021... you get the gist https://github.com/peterklijn/hammerspoon-shiftit I guess you could make a web app or app clip but I think this is a cool project. would be good to have a theme engine. Look at NetNewsWire how good a native app of this kind can be. NNW in particular has great shortcuts, like or opening links in the native browser, and read/unread functionality
In Show HN: A native macOS client for Hacker News, built with SwiftUI
I use HammerSpoon with the ShiftIt spoon. https://github.com/peterklijn/hammerspoon-shiftit I like to move windows around with just my left hand, which doesn't work if you use the right command key. Instead you can use left_alt + left_command together The full list of commands I use with the ShiftIt spoon: spoon.ShiftIt:bindHotkeys({ left = {{ 'alt', 'cmd' }, 'z' }, right = {{ 'alt', 'cmd' }, 'x' }, up = {{ 'alt', 'cmd' }, 'q' }, down = {{ 'alt', 'cmd' }, 'a' }, resizeIn = {{ 'alt', 'cmd' }, '-' }, resizeOut = {{ 'alt', 'cmd' }, '=' }, toggleZoom = {{ 'alt', 'cmd' }, 'f' }, upleft = {{ 'alt', 'cmd' }, '1' }, upright = {{ 'alt', 'cmd' }, '2' }, botleft = {{ 'alt', 'cmd' }, '3' }, botright = {{ 'alt', 'cmd' }, '4' } }) Alt = Option on Mac To move a window to the center of the screen with Hamm
Read the rest
erspoon: hs.hotkey.bind({"cmd", "alt"}, "s", function() -- size focused window to middle third of display local win = hs.window.focusedWindow() local f = win:frame() local screen = win:screen() local max = screen:frame() f.x = max.x + (max.w / 3) f.y = max.y f.w = max.w / 3 f.h = max.h win:setFrame(f) end) To move a window to the next/previous screen (external display): -- move window to next screen -- bind hotkey hs.hotkey.bind({'alt', 'ctrl', 'cmd'}, ']', function() -- get the focused window local win = hs.window.focusedWindow() -- get the screen where the focused window is displayed, a.k.a. current screen local screen = win:screen() -- compute the unitRect of the focused window relative to the current screen -- and move the window to the next screen setting the same unitRect win:move(win:frame():toUnitRect(screen:frame()), screen:next(), true, 0) end) -- move window to previous screen -- bind hotkey hs.hotkey.bind({'alt', 'ctrl', 'cmd'}, '[', function() -- get the focused window local win = hs.window.focusedWindow() -- get the screen where the focused window is displayed, a.k.a. current screen local screen = win:screen() -- compute the unitRect of the focused window relative to the current screen -- and move the window to the previous screen setting the same unitRect win:move(win:frame():toUnitRect(screen:frame()), screen:previous(), true, 0) end) I use left alt and left command together for one handed shortcuts. I use Quicksilver to set triggers to open apps with left_alt + "key" https://qsapp.com/
In Keyboard tricks from a macOS app dev

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.