全体的にむずかしくないはずなのに、取っ手をつける位置を間違えて一旦リッパーで完全にとってやりなおすという無駄な作業が発生した。つらかった。
これで要求されていた保育園グッズは終わり。
#!/usr/bin/xcrun swift | |
import Cocoa | |
struct ProgramOption { | |
var list : Bool = false | |
var set : String? = nil | |
var help : Bool = false | |
} | |
func getInstalledBrowsers () -> [ NSBundle ] { | |
var browsers = [ NSBundle ]() | |
let array = LSCopyAllHandlersForURLScheme("http").takeRetainedValue() | |
for var i = 0, len = CFArrayGetCount(array); i < len; i++ { | |
let bundleId = unsafeBitCast(CFArrayGetValueAtIndex(array, i), CFString.self) as String | |
if let path = NSWorkspace.sharedWorkspace().absolutePathForAppBundleWithIdentifier(bundleId) { | |
if let bundle = NSBundle(path: path) { | |
// let name: String = bundle.infoDictionary!["CFBundleName"] as String | |
browsers.append(bundle) | |
} | |
} | |
} | |
return browsers | |
} | |
func setDefaultBrowser (bundleId : String) -> Bool { | |
let httpResult = LSSetDefaultHandlerForURLScheme("http", bundleId) | |
let httpsResult = LSSetDefaultHandlerForURLScheme("https", bundleId) | |
if httpResult == noErr && httpsResult == noErr { | |
return true | |
} else { | |
return false | |
} | |
} | |
var option = ProgramOption() | |
for var i = 0, len = Process.arguments.count; i < len; i++ { | |
let arg = Process.arguments[i] | |
switch arg { | |
case "-h", "--help": | |
option.help = true | |
case "-l", "--list": | |
option.list = true | |
case "-s", "--set": | |
option.set = Process.arguments[++i] | |
default: | |
break | |
} | |
} | |
if option.help { | |
println("-h, --help: Show help (this)") | |
println("-l, --list: Show installed browser list") | |
println("-s [bundleId], --set [bundleId]: Set default browser to specified browser") | |
exit(0) | |
} | |
if option.list { | |
let browsers = getInstalledBrowsers() | |
for browser in browsers { | |
let bundleId = browser.bundleIdentifier! | |
let path = browser.bundlePath | |
println("\(bundleId)") | |
println("\t\(path)") | |
} | |
} | |
if let bundleId = option.set { | |
if setDefaultBrowser(bundleId) { | |
exit(0) | |
} else { | |
exit(1) | |
} | |
} | |
exit(0) | |
set_default_browser.swift --set $( set_default_browser.swift -l | grep -v "\t" | peco )
雑にpecoれる
出社した直後ぐらいからだるくなり、12時ごろに「もうこれはだめだな」と思い早退。
帰宅時点では37°ぐらいの微熱。悪寒がするので熱めの風呂に入ってからすぐ寝て、15時ぐらいに37.8°ぐらい。生卵をTKGとして摂取してひたすら寝つ続け、20時ぐらいに37.3°ぐらいまで下がる。それからまたひたすら寝て朝がたに36.5°ぐらいの平熱になった。
型紙付属のレシピから変えてマジックテープ式にしようとしたら (保育園の要求仕様を満たすため)、いろいろ失敗してしまった。マジックテープがどうも固く、ジグザグ縫いで目が飛びまくりどうしようもなく、しかたなく直線に変えたり、マチをつけて固定するところで手縫いする必要があるのだが、玉止めがうまくいかず……
とはいえ一応実用上は問題ない形に仕上げた…… 精進が必要。
布を切るといえば裁ち鋏でしょ??と思って思考停止していたけど、ローリングカッターを使ったほうが圧倒的に楽チンだった。
ただし欠点があって、一度に切れる長さはカッターマットの大きさに制限される。
裁断が結構気が重い作業だけど気が楽になるし、時短できるしチートアイテムっぽい。