Python辞書型の最初と最後のキーを取得する

日付をキーにした辞書の最初と最後を拾うのにちょっと詰まったのでメモ。Python 3ではkeysメソッドが返すのはリストじゃなくてビューに変わるけど、sorted関数にすぐ渡しているので3でもそのまま動く。ちなみにiterkeyメソッドは廃止なので積極的に使わない方が良い。

iOS 6におけるSleipnizerフルスクリーン機能

■Portraitモードにおけるoverlayボタン

v3.1からPortraitモードでもOS標準のoverlayボタンが表示されるように変更します。下記の表はそれを踏まえての遷移表です。

■Sleipnizerフルスクリーン遷移表

Sleipnizer (>= 3.1)のフルスクリーン管理が非常に複雑になってきましたので、まとめておきます。左の状態からアクション後の状態が右側です。on/offの状態はoverlayボタンが出なくて不便なだけなのでならないように作ってます。

SleipnizeriOS 6 nativeactionSleipnizeriOS 6 native
offofftweakonon
nativeoff (on : Relate to native)
offontweak (Portrait)onon
tweak (Landscape)offoff
native (Landscape)
onontweakoffoff
native

■Relate to native

Relate to nativeを有効にすると上記の表で1箇所だけ動作が変わります。また、iOS6からのiOS標準のフルスクリーン状態は/var/mobile/Library/Preferences/com.apple.mobilesafari.plistに保存され、Safariの起動時(Suspendから復帰ではない)にplist設定値から状態が復元されるのですが、この際にフルスクリーンがONで保存されていると起動時からフルスクリーンになります。Startup FullScreenが半分入る感じですね。

■Keep statusbar

諸々の整合性からiOS6+ですとKeep statusbarが有効なのはPortraitモードのみになりました。FullScreen for Safariは完全になくしてしまったみたいですが。

■iPad

iPadは標準が入ってこなかったようなので、これまで通りに使えるはずです。はず。

libinstabanner

libinstabannerをリリースしました。iOS5から実装されたUIAlertViewによる通知にかわる方法として上部にバナーがでるおなじみのアレですが、tweakから任意に呼び出すには結構な手間がかかる(特にSpringBoardの外からは)のでライブラリを作りました。

使い方は1通りしかないので難しい事は何もなく、ヘッダーのUsageがもうほんとすべてです。bundleIdentifierの引数はnilチェックしてるのでそこは最低限なにか入れる必要があります。titleはnilにすると自動でDisplayNameが入ります。com.apple.Preferencesを指定して日本語なら「設定」てな感じです。

bundleIdentifierを自由に指定できるのでこんな感じにすると・・

[InstaBanner showBannerWithBundleIdentifier:@"eu.heinelt.ifile" title:nil message:@"libinstabanner test"];
こうなります。タップするとそのアプリを起動できます。
面倒なコードが1行ですむね!やったね!

CleanActivity

iOS 6からUIActivityViewControllerを使用したメニュー導入されました。従来使われていたUIActionSheetより生成にパワーが必要でUIActionSheetよりも起動は遅いですが、表示できるメニュー数が多くて便利ですね。便利なんですが人によっては絶対に使わないようなメニューもあるかと思います。Weiboとか、メールとか、メッセージとか。そこでOS標準提供のActivityをオン・オフ設定できるCleanActivityを作りました。これで私のBylineは2段にまとまってスッキリ!

設定できるのは標準提供されている以下9種類のActivityです。

  • Twitter
  • Facebook
  • Weibo
  • Message
  • Mail
  • Pasteboard
  • Print
  • Assign to Contact
  • Save to CameraRoll
  • 色々とオフにするとスッキリしたメニューにできます。

    CleanActivityはgithubで公開しています。Licensed under the GPL v3です。アイコンのほうきがGPLだったので。CleanStatusのほうきと同じ画像だと思うのですがアレはちゃんとGPL守ってるのでしょうか。

    built new Mac.

    MacBook Air (Late 2010)からMacBook Pro 13" Retinaに移行した際のメモ。

    ■Boot

  • 起動は普通に日本語で適当に。

  • ■AppStore

    AppStoreから必要なものを再DL
  • Xcode
  • Evernote
  • Twitter for Mac
  • Alfred
  • Go2Shell
  • Cloud
  • Skitch
  • The Unarchiver
  • CCleaner
  • Dash
  • ■Document for Dash

    Xcodeを入れたら、DashのためにiOSのドキュメントをDL。ついでにCommand Line toolsも。

    システム環境設定

    ■Dock

  • サイズと拡大率を適当に調整して自動非表示ON
  • ■Mission Control

  • ホットコーナーで右上でディスプレイのスリープ
  • ■Firewall

  • とりあえずON
  • ■Spotlight

  • 色々はずしておく
  • ■Keyboard

  • 「すべてのコントロール」に変更
  • キーリピート最速、最短認識
  • 標準ファンクションキーにチェック
  • ■Trackpad

  • 軌道最速
  • Mission ControlとExposeをチェックオフ(BTTと干渉するので)
  • フルスクリーンアプリ間移動は4本指に変更
  • ■共有

  • host名変えとく
  • ■アクセシビリティ->マウスとトラックパッド

  • トラックパッドオプション->ドラッグ有効、ドラッグロックあり、最速スクロール

  • App from web

  • Firefox
  • Dropbox
  • SugarSync
  • 1Password
  • VLC
  • Insomnia
  • BetterTouchTool
  • GoogleChrome
  • Google日本語入力
  • TuneTEXT
  • Witch

  • Music

  • ~/Musicを固めてAirDropで持ってくるか、iTunesホームシェアリングでコピー

  • 開発環境

  • githubから自分のdotfilesをclone. vim-plugin、symlink等設定
  • homebrewからdpkg入れる
  • theos installシェルスクリプトでtheosインストール
  • tweakのtheosへのsymlinkが外れているのを修正

  • 設定

    ■BetterTouchTool

    Global
  • 4FingerSwipeUp/Down : ShowDesktop
  • 3FingerSwipeUp/Down : MissionControl
  • CornerClickBottomRight : RightClick
  • Terminal
  • 3FingerSwipeLeft : Cmd+Shift+[
  • 3FingerSwipeRight : Cmd+Shift+]
  • ■Witch

  • [Behavior] Show list : right away
  • [Behavior] Show←のチェックは外す
  • [Appearance] 42pt, Show : applicationIcons

  • これで大体完了。