Eredetiben pedig: ]]>
Category Archives: Mac
Mac workflow: klikkmentes to do
Things alkalmazást. Ez egész odáig tartott, míg a fejlesztő srácok el nem kezdték ígérgetni a cloud sync támogatást, ami csak nem akart megérkezni – én pedig továbbléptem, előbb a The Hit List-re, aztán az OS X / iOS gyári Reminders alkalmazására, majd a német Wunderlist appra. Mindegyikkel volt valami bajom, aztán nemrég szembejött egy review, amiben újra nyakig dícsérték a Things-et, ezért úgy gondoltam, visszanézek – és nem bántam meg 🙂 Amivel már jó ideje kísérletezek az az, hogy a munka közben eszembe jutó teendőket minél kevesebb erőfeszítéssel rögzíthessem. Erre optimális lenne, ha a feladatkezelő alkalmazás korrektül scriptelhető lenne, én meg egy Alfred workflow-val beletolhatnám a mondandómat – ezt fogjuk most megcsinálni a Things mellé. A Things-hez létezik már többféle Alfred workflow, én viszont egyikkel sem voltam elégedett. Olyat szerettem volna, amihez egy sorban kitölthetem a taskhoz tartozó összes paramétert mindenféle egerezés nélkül. Ehhez még hozzáálmodtam azt is, hogy felszedhetné az aktív Safari ablak URL-jét és az oldal címét, hátha csak épp azt akarom elmenteni. Tudom, van Reading list Safariban, amit viszont nem tudok taggelni és főleg fejlesztői doksiknál sokszor élem át azt, hogy emiatt nem találok meg egy korábban látott oldalt. Szóval legyen benne task description meg task note kitaláló, de gyorsan állíthassak határidőt, feladatcsoportot és tageket is. Kitaláltam ehhez a következő szintaxist: Az eleje a feladat leírása, a @ után álló “3d print” a feladatcsoport (a Things nyelvén “project vagy area of responsibility”), a # utáni “Ultimaker” a feladatra akasztott címke, a > karaktert követő 1 érték pedig azt mondja a workflownak, hogy ez a munka holnap határidős. Mindezt látod is on-the-fly, ahogy gépeled be a feladatot. Csak elsőre hangzik bonyolultan, 5 task kézzel és már ott is van az izommemóriában 🙂 Ez pedig a Safari autofill – így néz ki, amikor felszedi az aktív Safari ablak címét és URL-jét: A > karakter utáni dátummal tud minimálisat matekozni. Megadhatsz neki 8 (=YYYYMMDD), 6 (=YYMMDD), 4 (=MMDD), vagy 2 (=DD) jegyű dátumot – ha nem teljes a dátum, akkor a hiányzó darabokat az aktuális napi dátumból kiegészíti. Magyarul a >1201 ma 2014 december elsejét jelenti a workflownak. Ezen túlmenően tud hozzáadni illetve elvenni napokat az aktuális dátumból: az első karakter az előjel, azt követi egy szám, majd az utolsó karakter opcionálisan jelölhet nap helyett hetet (w), hónapot (m) vagy évet (y). Egy példán keresztül: a mai napon gyártott to do-n a >+3w dátummatek 2014 december 17-ét állítja be due date-nek, mivel az van 3 hét múlva. Ha tetszik és kipróbálnád, a workflow-t szedheted tőlem vagy a packal.org-ról is. Update: kicsit szellősebbre vettem a parser által kitalált to do elemeket, illetve most már felismeri a @today és @someday targeteket is és a megfelelő Things listákba pakolja az így címzett to do itemeket: ]]>
Mac workflow: Alfred
Alfred viszont annál inkább a szívemhez nőtt. Az Alfred a készítők definíciója szerint egy “productivity” alkalmazás, mely a korábbi Quicksilver, illetve a most is aktívan fejlesztett Launchbar launcherek konkurrense. Most eltekintek attól, hogy a sok default Alfred jóságot részletesen ismertessem, azokról született már kismillió jó írás. Rettenet erő lakik a szoftverben, főleg, ha pénzt áldozol a 17 GBP-be kerülő PowerPack kiegészítésre. Amint van PowerPackod, már gyárthatod is a friss workflow-kat Alfredben. Én is csináltam sok ilyet és használok mások által fejlesztetteket – ebből szedtem most össze egy csokorra valót kedvcsinálónak. Lássuk a macit!
Uni-Call
FaceTime vagy Skype hívást tudok desktopról indítani anélkül, hogy az egeret használnám, így:Currency converter
Árfolyamot vált, baromi gyorsan, bármiről bármire. Beállíthatod a kedvenc célárfolyamod default targetnek, de harmadik paraméterként bármikor konvertálhatsz tetszőleges másikra is:Image dimensions
Kép méretét adja vissza azonnal:Encode
URL/UTF8/Base64 formába konvertálja az inputot:Animgif search
Google translate
UI-ben tökölés nélkül fordítja az inputot azonnal. Csináltam belőle 3 targetet: magyarra, angolra és lengyelre:Safari history search
IP és Mac addressek CLI nélkül, gyorsan
Disk space check azonnal
Compose mail
Keresés a menubarban egér nélkül
Új file gyártása és azonnali megnyitása
Cheatsheet azonnal
Rate current iTunes track és add current iTunes track to singalong playlist
Recent items
Save current URL with tags
Send current URL
Show all iCloud tabs
Timezones
Ha kedvet csináltam, már megérte! ]]>Solarized for OS X CLI
erre. A linkelt zipben van egy Solarized shell config, egy .vimrc és egy .vim folder – ez utóbbi kettő megy a home folderedbe, az elsőt meg nyitja a Terminal. Vim-ben az F2 billentyű átkapcsol a solarized dark/light témák között, továbbá a .vim/plugin folderben lakik egy diacritics.vim, ami a vim-be töltött file ékezetlenítésére szolgál – ez utóbbihoz HOWTO erre. Persze nem én találtam fel a spanyolviaszt, a fentiekhez csak túrni kellett a netet. A patchelt terminal configot Schorin Ionescu készítette, a Solarized téma pedig Ethan Schoonover érdeme.]]>
Mac workflow: Tagged bookmarks
OpenMeta tagging felfedezése óta használom OS X alatt a tageket (btw OpenMeta tagek: OS X 10.9 alatt bevezetett kMDItemOMUserTags
tagekké konvertálására itt ez a csodás script). A 10.9 megjelenése óta várom, hogy majd csak belekerül a Safari bookmarkok mellé is a tagging lehetősége – aztán egy nap meguntam a várakozást és csináltam magamnak egy scriptet a probléma megoldására:
set defaultPath to "SYSTEM:Users:fns:Dropbox:URL" as alias tell application "Safari" set theName to name of front document set theURL to URL of front document end tell set theName to replace_chars(theName, ":", " -") tell application "Safari" activate set resultFile to (choose file name with prompt "Save .webloc File" default name theName default location defaultPath) as text end tell set text item delimiters to ":" set fileName to last text item of resultFile set filePath to text 1 thru lastpos(resultFile, ":") of resultFile tell application "Finder" to make new internet location file at filePath to theURL with properties {name:fileName} on replace_chars(this_text, search_string, replacement_string) set AppleScript's text item delimiters to the search_string set the item_list to every text item of this_text set AppleScript's text item delimiters to the replacement_string set this_text to the item_list as string set AppleScript's text item delimiters to "" return this_text end replace_chars on lastpos(textstring, thischar) return (length of textstring) - (offset of thischar in (reverse of text items of textstring as string)) end lastpos
set defaultPath to "SYSTEM:Users:fns:Dropbox:URL" as alias
Mac workflow: screenshot megosztás
Józsinál olvastam az előbb, hogy szerinte az optimális megoldás screenshot megosztásra, ha bekapcsolja a Dropbox automata képernyőfotó uploaderét, ami majd feltölt minden screenshotot a cloudba. Én ettől kifejezetten viszolygok, viszont egészen hasonló, csak picit paranoidabban kontrollált megoldást használok ugyanerre. Józsi nem szereti a 3rd party szoftvereket, így neki ez a verzió valószínűleg nem játszik, de ha te is hozzám hasonló shareware junkie vagy, akkor neked még jól jöhet az én workflow-m. Megosztásra én is a Dropboxot használom, csak épp nem hagyom neki, hogy hübele-Balázs mindent feltöltsön a felhőbe. Ehelyett létrehoztam a Dropbox folderben egy screenshots mappát, ami droptargetként kint van a dokkon és abba dobom a megosztandó screenshotot. A folderen ül egy Hazel folder rule, ami a beérkező file nevéből kitalálja, hogy mi lesz a Dropbox URL, majd azt bepakolja a Clipboardra:
set file_path to theFile as text try set text item delimiters to ":" set file_name to last text item of file_path set text item delimiters to "" on error set text item delimiters to "" end try set file_name to (do shell script "/usr/bin/php -r 'echo rawurlencode(\"" & file_name & "\");'") set dropboxPath to "https://dl.dropboxusercontent.com/u/MYDROPBOXID/screenshots/" & file_name set the clipboard to dropboxPath
Update
Csak azért, hogy kiálljak a szerintem egyik leghasznosabb OS X alkalmazás mellett, olvastam Hazel doksit és megcsináltam az egészet Dropbox nélkül is. Ehhez mindössze egy FTP tárhelyre van szükséged – íme a rule: A fenti scripthez képest természetesen csak ahttps://dl.dropboxusercontent.com/u/MYDROPBOXID/screenshots/
értékét kell arra a folderre változtatnod, ahova feltöltetted a képet.]]>
A Mac Pro gyártása
Luma Labs tervezőmérnöke úgy gondolta, hogy elmagyarázza nekünk mezei usereknek, mit is látunk a két perces videóban (btw a Luma Labs gyártotta a szerintem tökéletes kameraszíjat, egész addig, míg egy versenytársuk úgy gondolta, hogy ennek véget vet). A hozzám hasonló automatizálás buziknak mind a videó, mind a szakkommentár kötelező darab – ha te is hasonlóan izgulsz az ilyesmire, akkor előbb nézd meg a videót: Most pedig olvasd el Greg magyarázatát.]]>
Mac workflow: másolás lockolt pdf-ből
Transmission: set download speed from script
#!/bin/bash USER=yourUserName PASS=yourPassword server=http://yourTransmissionHostIP speed=$1 curlout=$(curl -u $USER:$PASS ${server}:9091/transmission/rpc 2>/dev/null) regex='(X-Transmission-Session-Id\: )([^<]*)' if [[ $curlout =~ $regex ]]; then sessionid=${BASH_REMATCH[2]} else exit 1 fi if [ $# -eq 0 ] ; then data='{"method": "session-set", "arguments": { "speed-limit-down-enabled" : false } }' else data='{"method": "session-set", "arguments": { "speed-limit-down-enabled" : true, "speed-limit-down" :' data="$data ${speed} } }" fi curl -u $USER:$PASS ${server}:9091/transmission/rpc -d "$data" -H "X-Transmission-Session-Id: $sessionid" > /dev/null 2>&1
clipboardToReminders
set rLists to {} tell application "Reminders" set todo_accounts to every account repeat with i from 1 to length of todo_accounts set todo_lists to get every list repeat with j from 1 to length of todo_lists tell list j set end of rLists to (get name) end tell end repeat end repeat end tell set myRList to choose from list rLists with title "Save these clipboard as Reminder(s)" with prompt (get the clipboard) without multiple selections allowed if myRList is not false then tell application "System Events" set myText to paragraphs of (the clipboard as text) end tell repeat with myLine in myText if length of myLine is greater than 0 then tell application "Reminders" tell list (item 1 in myRList) make new reminder with properties {name:myLine} end tell end tell end if end repeat end if