Note that there are some explanatory texts on larger screens.

plurals
  1. POSave and restore applications and layout
    primarykey
    data
    text
    <p>I'm looking for ways to reduce the wasted time spent to open all the applications needed, position windows, open urls/files/change directories/etc. before actual coding starts.</p> <p>In the perfect world there would be 2 buttons marked 'SAVE STATE' and 'RESTORE STATE' per 'project'. The kind of feature you find in some games.</p> <p>I'm on a mac and just spent afew hours banging my head with 'Automator' (which for some reason has problems to even open firefox from the dock) and then applescript (which gives me the feeling i'm in for a long ride).</p> <p>Searching on the net led me to this script:</p> <p><a href="http://snipt.net/Fotinakis/applescript-to-save-and-restore-window-positions/" rel="noreferrer">http://snipt.net/Fotinakis/applescript-to-save-and-restore-window-positions/</a></p> <pre><code>#!/usr/bin/osascript -- Usage: -- $ osacompile -o windowPositions.compiled.scpt windowPositions.scpt -- $ osascript windowPositions.compiled.scpt --save -- $ osascript windowPositions.compiled.scpt --restore -- Change this to be the list of windows you want to save/restore property affectedProcesses : {"Chrome", "Adium", "Eclipse", "Terminal"} property windowRecord : {} on run argv if (count of argv) is equal to 0 then log "Please specify one of --save or --restore." return end if tell application "System Events" if (item 1 of argv is equal to "--save") then set windowRecord to {} repeat with i from 1 to count affectedProcesses set end of windowRecord to {0, {}, {}} end repeat repeat with p from 1 to count affectedProcesses set processName to (item p of affectedProcesses) if exists process processName then log "Process '" &amp; processName &amp; "' exists" tell process processName set numWindows to count windows set item 1 of item p of windowRecord to numWindows repeat with i from 1 to numWindows set end of item 2 of item p of windowRecord to position of window i set end of item 3 of item p of windowRecord to size of window i end repeat end tell end if end repeat else repeat with p from 1 to count affectedProcesses set processName to (item p of affectedProcesses) if exists process processName then log "Process '" &amp; processName &amp; "' exists" tell process processName set numWindows to item 1 of item p of windowRecord repeat with i from 1 to numWindows set position of window i to (item i of item 2 of item p of windowRecord) set size of window i to (item i of item 3 of item p of windowRecord) end repeat end tell end if end repeat end if end tell end run </code></pre> <p>It does half the job (resize and position current windows) but falls apart on a multi-monitor multi-desktops setup. There is no contact info for the original author to ask for help or feedback.</p> <p>Can anyone shed some light on saving and restoring applications and layout? It feels like such a common task that ought to have some helper utilities. The best I have is the 'sleep mode' but it seems I have to to do a full restart every other day and I have different applications and layout for different projects.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload