From 08d0aab5a7a82f29150910979552928025cfc630 Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Thu, 25 Jul 2019 00:18:36 +0200 Subject: Automatically reposition iTerm window 2 when external monitor connected When my external monitor is connected, ensure that iTerm's window #2 is in the proper position. iTerm has a habit of getting its window layout screwed up when switching monitors (or just not remembering window layouts between monitors). --- window_layout.lua | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 window_layout.lua (limited to 'window_layout.lua') diff --git a/window_layout.lua b/window_layout.lua new file mode 100644 index 0000000..1b6a8b1 --- /dev/null +++ b/window_layout.lua @@ -0,0 +1,17 @@ +-- Do this when external monitor is connected +-- https://www.hammerspoon.org/docs/hs.screen.watcher.html +-- hs.screen.primaryScreen():name() == 'G247HL' +local function iterm2() + -- TODO: Use `filter()` to get windows with title starting with "2. ". This + -- code grabbed window 3 once. + local win_2 = hs.application.find('com.googlecode.iterm2'):allWindows()[2] + win_2:setFrame(hs.geometry.rect(-1253.0,23.0,793.0,873.0)) +end + + +screen_watcher = hs.screen.watcher.new(function() + if hs.screen.primaryScreen():name() == 'G247HL' then + iterm2() + end +end) +screen_watcher:start() -- cgit v1.2.3