2011/06/30

iPhoneのフォルダ名に絵文字を使う

iPhoneでフォルダ名を変更する際、絵文字の入力は出来ません。どこかの設定を変えれば出来るかもしれませんが、とりあえずコピペすれば対応可能です。

SMSなどの絵文字入力可能な他のアプリで入力し、それをコピーした後、フォルダ名の入力でペーストすると、フォルダ名に絵文字が使えます。

参考:iPhoneのフォルダの中身を一目で分かるようにするためのTIPS : ライフハッカー[日本版]

整理方法的な話では、頻度順に並べるのが妥当かと思います。

UI全般に共通しますが、すぐ押せる場所に置くべきボタンは、以下のの二つかと思います。

  • 咄嗟に使わなければいけないもの
  • 良く使うもの

iPhoneで言うと前者は電話やメール、後者はメモ/地図/ソーシャル系などでしょうか。

よく使うアプリを先頭ページへ持って行くと、自然と使わないアプリは後ろに押し出されると思います。

使わないアプリの山をフォルダにまとめる段になって、ようやくジャンル別の分類などが必要になります。

この方法だとそもそも1ページ目にフォルダは要らないので、たまに起動する低使用頻度のアプリを、たまに覗く後ろの方のページから探す分には、正確なジャンル名よりも、関連性をイメージし易いアイコンでも付けておけば十分かと思います。

それで見つけられないほど大量にアプリがあるなら、完全に分類を放棄して名前で検索した方が早そうです。

2011/06/29

ソフトバンクのお詫び措置が適用される

先月当たりに、iOS4の使用により、ユーザの意図しないパケット通信により、想定外の通信料が発生する事に対して、減免措置が取られていました。

参考:スマートフォン自動通信の告知に関するお詫び | ソフトバンクモバイル株式会社

これは、申し込んだ月の料金から1,029円(税抜き980円)が割り引かれます。

原因は恐らく、iOS4から搭載された「通知」機能をONにしていると、アプリケーションのインスタンスが無い様に見えても、バックグラウンドで通信が発生する、という現象が理解されていなかった事だと思います。

詳細はさておき、私はiPhone3GSですが、一応条件を満たしていたので申し込んだ所、今月分の料金に反映されていました。

元々の課金額が411円だったので、マイナスになっていました。それに伴い、消費税の計算もマイナスになっていました。

税務上の正しい計算は知りませんが、今回の緊急の措置に対して、システムが対応出来ているのかが不安です。iPhone利用者で利用金額が1,000円を切る人はあまり多く無いと思われますので、想定外の考慮もれパターンで無い事を祈ります。

2011/04/13

PSPゲームの通信構成

iPhoneなどのWi-Fi準拠のガジェットをPC経由でインターネットに接続する場合、図1の様な構成になります。これはノートPCなどに無線LANアダプタが内蔵されているが、モデムやルータは有線しか持っていない場合を想定しています。

図1

この場合、PC側の無線LANアダプタにAPとして、つまり親機的(*)に振る舞ってもらい、SSIDを発行してもらいます。ガジェット側からは、そのSSIDに対して接続する格好です。

このようにPCとガジェット間で接続が確立出来た上で、無線LANと有線LANをブリッジする事でインターネットへの接続をガジェットと共有できます。このブリッジ機能はOSの標準機能として提供されていると思います。

同様の環境にて、PSPでブラウザを使用する場合や、ゲームのコンテンツをダウンロードする場合もこれと同じ接続形態になります。もちろん無線ルータがある場合はもっとシンプルです。

これに対して、PSPのゲームで対戦や共闘をする場合の接続形態は図2の様に、やや異なります。

図2

PSPのゲームは、対面で2台以上の接続が行われます。そのため、一対一通信ではなく、一対多の通信も必要になります。そのためPSP側が親機として振る舞い、APを設置しSSIDを発行します。

ネット経由でPSPの通信プレイを行う場合、親機のPSPをPC側から探し、PC側が子機としてネットワークにアクセスする形になります。

PSPの発行するSSIDの一例

そのため、普通のブリッジ機能ではインターネット接続を共有出来ず、XLink MHP Tunnelと言った、専用のブリッジ用アプリが必要になります。

*:一般に「ルータ=親機」「アダプタ=子機」と認識されていると思いますが、ここでは、LAN接続のHUB機能を持っているものをルータ、当該機器のLANポートの役割を果たすものをアダプタ、ネットワークを構成する主体を親機、親機に従属する機器を子機としています。

2010/10/31

Windowsの電源管理

メインが二台になり、片方がアイドルになる頻度が増えたわけですが、使っていなくてもファンが回ってなにげにうるさい。しかし電源オフすると復帰が遅い。という事で、改めて電源の休止状態を調べ直してみました。

これまでもモニタの電源はすぐにオフにしていたのですが、定期的にファンの回転が上がるので、出来ればCPUは止めたい。

マウスにぶつかったぐらいで復帰しないで欲しい。

Windows機はノートなので、かなりへたっているとはいえバッテリーが付いており、停電など不測の事態でも(恐らく)電源オフまでは猶予時間がある。

といった条件を鑑みると、自分の環境ではスタンバイが一番望ましいようです。

終了画面を出すのも面倒なので、ぴたすちお

  • デスクトップをダブルクリックでスタンバイ
  • タスクバーをダブルクリックでモニタの電源オフ

としました。

2010/10/13

矢印チャートサンプル

MetaTraderのインディケーターには、主にシグナル用に矢印が表示できます。

この矢印はWingDingsフォントの33から255番までをそのまま表示しているらしく、ヘルプに一覧があるのですが、実際に表示された物を確認したかったので、チャート上に一覧で表示するインディケーターを作りました。

左上のテーブルが33から255番までの、番号と記号の一覧です。

プライスの高値に10個おきに表示されているのが、実際に矢印インディケーターとして表示したサンプルです。

プライスの安値に10個おきに表示されているのが、CreateObjectで矢印オブジェクトを作った際のType1から6までのサンプルです。これはついでです。

パラメターについて

ExtColor
表示カラーです。一覧、サンプルインディケーター、サンプルオブジェクト全てに適用されます。
ExtFontSize
一覧のフォントサイズです。
ExtMarginLeft
一覧の表示位置です。チャートの左端からマージンです。単位はピクセル。
ExtMarginTop
一覧の表示位置です。チャートの上端からマージンです。単位はピクセル。
ExtColMargin
一覧の列間マージンです。単位は倍率(フォントサイズ*n)。
ExtRowMargin
一覧の行間マージンです。単位は倍率(フォントサイズ*n)。
ExtLineNum
一覧の表示行数です。1列に何行表示するか設定します。
ExtArrowType
サンプルインディケーターに表示する矢印の番号です。一覧の中から表示してみたい番号を設定します。

2010/10/06

MacPortsのインストール

主にCUIベースのいろんなツールがインストールできるPortsというアプリがありますが、それのMac版だそうです。開発環境を整えようとすると割と要求される事が多いので、Macで開発作業をしたい場合、入れておいた方がよさげです。

Xcodeのインストール

Portsはソースコードで落としてきて、ローカルでビルドするのでコンパイラが必要です。そのため、統合開発環境のXcode(のコンパイラ)が必要になるそうです。

Mac付属のインストールメディアに入っているので、適当にググれば問題はないかと思います。私の購入したiMac(late2009)に付属のDVDからはバージョンが一つあがっていたので(2010.10現在)、インストール後にMacのソフトウェアアップデートすると、更新されます。500MB超のダウンロードが必要なので、時間に余裕のある時に。

X11のインストール

当該OSに依存しないGUIを提供するウィンドウシステムです(多分)。2008年前後のWebページではインストールしろと書かれている事が多いですが、Mac OS X(10.6.4)ではデフォルトでインストールされていました。別件でXQuartsの最新版をインストールしていたので、どこまで必要なのか解りませんが、入ってるなら得に更新しなくても良いかもしれません。

MacPortsのインストール

The MacPorts Project -- Download & Installationのサイドバーにある"Available Downloads"に一覧があります。

"MacPorts-1.*.*-10.6-SnowLeopard.dmg"というファイルから一番バージョン番号が新しい物を選んでダウンロードします。

中身は一般的なMac形式のインストーラなので、*.dmgをマウントして、中にある*.pkgをダブルクリックするだけです。

Porticusのインストール

MacPortsをGUIで扱うためのアプリです。Downloads - Porticusからダウンロードして、*.dmgをマウントした中にあるアプリを、アプリケーションフォルダにコピーするだけです。

最新化

MacPorts自身の更新と、インストール可能なパッケージ一覧の更新が必要です。MacPortsに本来備わっている機能ですが、Porticusからも当然、実行可能です。

Porticusのメニューから、[Ports] > [Self Update]を実行するだけです。

Portsからインストール

あとは"All Ports"などから適当に検索して、一覧に出てきたパッケージの右クリックから"install"を選ぶだけです。[Ports] > [Install Selected]などでも可能です。

subversionやmercurial、pythonやperlなどの実行環境も全部MacPortsから揃えられます。

参考

2010/10/05

Google Codeでホスティング

新規作成

バージョン管理システムの変更

パスワード

久方ぶりに新規作成しようとしたところ、新規作成ページが見つからず、大分探しました。

WindowsではSubversionをTortoiseSVNで使っていたのですが、Mac買ったのでどうせなら、と違う物にしてみようと思ったのです。が、SubversionでアップロードしたソースはMercurialに変更しても消えませんが、リンクは404になってしまいます。

アップロードし直してリンクを貼り直すのも面倒なので、新しく作りなおしました。

2010/10/02

BUZZのおすすめユーザー

i click follow on suggested people
:Twitter からの WMC Fortitude さんのバズ

上記のやり取りを見て知ったのですが、twitterでも最近「おすすめユーザ」という欄がサイドバーに出来ましたが、BUZZにもあったようです。


BUZZを(正直あまり活用できていないのですが)1、2日に一回開くたびに、全く知らない外国人からのフォロワーが(スパムや業者も含めて)2、3人増えているのは一体どういうことかと思っていたのですが、"Suggestion"という機能があったんですね。

別のアカウントでは見知らぬフォロワーは全く増えません。このアカウントではBUZZ提供開始当初は全てフォロー返しをしていたのでフォロー、非フォローの数が増えたり、ブログのフィードを流しているだけですが発言数が多かったりといった要素が、他人のサジェストリストに挙がり易い条件なんでしょうか。

2010/09/30

ボリンジャーバンドを書き直す

BolingerBands_CI.mq4- Project Hosting on Google Code

MetaTrader4のカスタムインディケータです。なんの変哲もないボリンジャーバンドです。

標準の"Bands"が±σ2と中央の移動平均の3本しか引いてくれないので、±σ1も合わせて5本引いています。

インディケーターの計算式はちょうど忘れた頃に限って内容が気になり、その度にwikipedia行って調べたりしているので、3ヶ月毎に「標準偏差ってなんだっけ?」と調べ直さなくても良い様に、3ヶ月後の自分でもコードを読めば解る様に書いたものです。

一度、自分でコードを書くと割と頭に入るので、多分3ヶ月後には見直さないと思いますが、1年後にはまた見るかもしれません。

2010/09/24

TortoiseSVNのインストールが失敗

少し前から、バージョンアップの通知が出ていたので、1.6.10をダウンロード&インストールしたところ、コンテキストメニューに表示されなくなりました。

インストーラーをもう一度起動して、修復(repair)する必要があるらしい。

 [TortoiseSVN]バージョンアップしたら日本語パックがチェック通らない!⇒また【修復】で回復。 - Project Note

  1. 1.6.10をインストール
  2. PC再起動
  3. 1.6.10を再インストール(修復)
  4. PC再起動

としたら、ちゃんと表示されました。

LaG更新

Launcher_As_Gesture - Google Code

以前作った、マウスジェスチャの様なランチャAutoHotkeyでマウスポインタの移動を感知するセンサーを組み合わせてみました。

Windowsに触る時間自体が減っていますが、ずっとMacに触った後だと、適当に自作したアプリのUIのもっさり感がいかんともしがたい。

Macでも同じような物を作りたいですが、AutoHotkeyに変わるような物がないので、とりあえずXcodeを入れましたが、全く実装の見当がつきません。

2010/09/15

AutoHotkeyでマウスポインタの移動を感知する

doughnutSensor

AutoHotkeyはキーバインディングを目的としたスクリプト実効環境なので、キーイベントに関しては詳細な設定ができますが、ポインティングデバイスに関しては思った様には行きません。

マウスポインタが移動したかどうかを判定するには、一定間隔で座標を監視するタイマーを作るか、GUIを作成してOnMessageでウィンドウイベントを取るかしないと思われます。好きな場所でポインタが1ドット移動した、といったイベントをとる事ができません。

以前作成した、マウスジェスチャの様なランチャでは、中クリックがないMagicMouseのために、↓ジェスチャに中クリックを割り当てていました。

しかし構造上、ボタン押し下げと同時にランチャウィンドウがポインタの下に割り込むため、アクティブウィンドウが変更され、プルダウン等の一時的に表示されるコントロールが消えてしまう、という問題が発生。

何が困るかと言うと、Firefoxのブックマークツールバーにあるフォルダの中のブックマークを新しいタブで開く、という動作はプルダウンの要素を中クリックする必要があったのです。ランチャを実運用してみると、普段意識しない操作を意外に多く行っている事が判明しました。

Firefoxだけならば、タブの動作を変更もできますが、全てのアプリでそうとは行かず、ランチャ側で対応することに。

ということで、右ボタンを押し下げている間にポインタを動かさないと中クリック、動かした場合、改めてランチャを起動という仕様を実装するために、動いた/動いてないを判断する部分を作成したものです。

ランチャに組み込まないと、ただ右クリックが不便になるだけです。

2010/09/12

iOS4でもパケット下限

iOS4になってからマルチタスクに対応したため、アプリがバックグラウンドで常駐可能になりました。そのため、予期しないタイミングでパケット通信が発生し、パケット代が増える可能性があります。パケット上限で使っている場合、どうでも良い話ですが、パケット下限に抑える派には由々しき問題です。

そもそも、最近どのアプリでもオンラインでの同期機能が当たり前になってきたため、アプリを開くだけで(望まなくても)パケット通信をする可能性があります。

  • 標準のメモアプリ(GmailとIMAPで同期)
  • 標準のカレンダーアプリ(Exchangeで同期)
  • 標準の連絡先アプリ(同上)

データ取得方法を「手動」にする設定はありますが、ここでいう手動とは「更新」などのボタンを押したら同期、ではなく、アプリを開いたら同期という意味での手動です。バックグラウンドで自動で同期(プッシュ/定期フェッチ)はしませんよという意味での手動です。

そのため、同期設定のしてあるアプリを外出先で開くと、リアルタイムでの同期を必要としていなくても、開くたびにパケット通信が発生する可能性があります。

それを回避するために、オンラインサービスは一旦デスクトップのiCalやアドレスブックと同期し、iTunes経由で同期する、という方法もあります。しかしこれでは外出前にイチイチiPhoneをUSB接続して、iTunesを起動して同期する必要が有ります。(最近iPhoneの同期が早くなりましたが)面倒ですし、ヒューマンエラーによる同期忘れは避けられません。

そこで、最近ようやくバグが直った設定アプリを見ていると、「モバイルデータ通信」という項目が有りました。iOS4からの機能らしいですが、これを「オフ」に設定すると、データ通信のみを遮断できるようです。

データ通信をオフにしても、通話はできますしSMSもi.softbank.jpの着信通知も受け取れます。

利用可不可 備考
通話
SMS (080xxxxxxxx)
MMS (@softbank.ne.jp) × softbank携帯同士で
@softbank.ne.jp送受信はSMS扱い
IMAP (@i.softbank.jp) 着信通知は来る(SMS経由?)
送受信はWi-FiがONなら可能
ネット Wi-FiがONなら可能

[一般] > [ネットワーク]には[モバイルデータ通信]の他に、[3Gを有効にする]という項目も有ります。

一口に「3G網」といっても、その中には2種類の回線が有って、個別にオン/オフできるようです。電波状況しだいでは、メールは送れても電話が繋がらないといった状況もあり得ます。

デフォルトでは、恐らく両方オンになっていると思います。

[モバイルデータ通信]のみオフにすると、3Gアイコンが消え、通話回線のみになります。

[3Gを有効にする]をオフにすると、すぐに電波強度が1に下がり、その後「圏外」になります。

当然、3G網全体がオフの時にデータ回線のみオンにはできませんので、下図のような設定は無効です。このような設定でsafariを開いてもウェブサーバにはアクセスできませんでした。

[モバイルデータ通信]をオン/オフした際に、下位項目の[データローミング]の項目が連動して設定不可能になる様に、本来は[3Gを有効にする]をオン/オフしたら、下位項目である[モバイルデータ通信]は連動して設定不可能にすべきだと思います。

しかし、海外では3G網がオフでも2G網で接続する事も可能なようです。そのため、[通信回線を有効にする]ではなく[3Gを有効にする]という名称になっているようです。3Gをオフにしても、2Gのデータ回線を使用する事も考えられるため、「3G網のオフ=モバイルデータ通信のオフ」とはならないようです。

3G網しかない日本では実質「3Gのオフ=データ通信のオフ」ですが、ローカライズに際して、項目の入れ子関係まで変更できなかったと言ったところでしょうか。

まとめますと、設定アプリにて、

  • [一般] > [ネットワーク] > [3Gを有効にする]をオン
  • [一般] > [ネットワーク] > [モバイルデータ通信]をオフ
  • [Wi-Fi] > [Wi-Fi]をオン

としておく事で、

  • 電話、SMS、i.softbank.jp(着信通知のみ)が常に利用可能
  • MMSは常に利用不可能
  • IMAPメールやWebブラウザはWi-Fi環境下で利用可能

となり、パケット代は任意に[モバイルデータ通信]をオンにしない限り発生しない、という状態になります。

前提として、

  • softbankユーザとはSMSでメールする
  • MMSは利用しない
  • それ以外のキャリア、PCとはGmail -> i.softbank.jp経由で通知はプッシュ、送受信は手動
  • パケット通信は、自宅または公衆無線LANのWi-Fi環境で行う。

という環境を整えておく必要が有ります。しかし、メールをGmail経由にするのは、パケット代節約に関わらず、通信キャリアに囲い込まれないために有効なのでおすすめです。機種変更やキャリア変更のたびにアドレスをかえる必要がなく、スパム対策は有料サービスより優秀です。

関連 参考

2010/09/09

Re:後で調べる iOS4の不具合(一応解決)

iPhone構成ユーティリティ(iCU)3.1およびiTunes10にした時点では、今までと同様、

  • iPhoneから[設定] > [一般]を開くとフリーズする
  • iCUからiPhoneが正しく認識されない

iOS4.1にアップデート後、問題が解消

  • iPhoneから[設定] > [一般]が問題なく開ける
  • 構成プロファイルから自分の作ったプロファイルが消えている

softbank提供の「公衆無線LANし放題」というプロファイルは残っていました。

他に見かけなかったので、かなり特殊な条件が重なっての不具合だと思うのですが、iOSアップデートで直ったという事はOSのバグだったということでしょうか。

勝手プロファイルの扱いに問題があったのだと思いますが、プロファイル自体はテキストやバイナリで適当にいじった物ではなく、iCUから作った物です。

また、このプロファイルは自宅のWi-Fi情報を設定しただけの物だったのですが、強制削除された後も、得に設定していなくても自宅のWi-Fiには繋がっています。

iCUに関しても、これまでは

  • iPhoneをUSB接続しても、サイドバーの[デバイス]の下にiPhoneが表示されない
  • サイドバーの[ライブラリ] > [デバイス]の一覧にiPhoneが記憶されているが、詳細ペインの[構成プロファイル]タブに何も表示されない(プロファイルが二つ入っているはず)
  • iPhoneを接続したまま、iCUを終了させると「反応なし」になる。その状態でiPhoneの接続を解除すると終了する時もある。強制終了しないと終了しない時もある

と言った症状が全て改善されていました。

要するに、扱いに困っていたプロファイルを勝手に削除したダケみたいです。しかし問題が解消されたという事は、Appleが認識していたという事ですね。

今後、同様に問題のあるプロファイルは勝手に削除されるのか、もしくはOSアップデート時のクリーニング作業なのかがわかりません。再度、適当なプロファイル突っ込んだらフリーズが再発するのでしょうか・・・

関連

ソフトウェア アップデートで任意の項目だけ止める

Windowsにはマイクロソフトアップデートがありますが、MacにもApple Software Updateがあります。iTunesのWindows版等を利用していると、Windowsにもインストールされていると思います。Windows版は"Apple Software update"、Macの日本語環境では「ソフトウェア・アップデート」。

このアップデートツールは個別の項目に対して、更新通知をミュートできます。ミュートしたい項目を選択して

Macの場合

[アップデート] > [アップデートの使用を停止]

Winの場合

[ツール] > [選択された更新を無視]

iTunesと一緒に入れさせられたけど、QuickTime要らないなぁと言った場合等に。

また、一時期Windows版のiPhone構成ユーリティ(2.xの辺り)が何度更新しても、「新しいソフトウェアを入手できます」の一覧に入る無限アップデートになる時期が有りましたが、多分そういうのにも有効です。

WinからMacにFirefoxプロファイルの移行

ブックマーク

WinのFirefoxから標準の管理画面を使用して、HTMLでエクスポート、MacのFirefoxで標準の管理画面からインポート。

Stylish

Winのstylish.sqliteファイルをMacのstylish.sqliteに上書き。

  • win:%homedrive%%homepath%\Application Data\Mozilla\Firefox\Profiles\{fx user name}\stylish.sqlite
  • mac:~/Library/Firefox/Profiles/{fx user name}/stylish.sqlite

Adblock+

Winのpatterns.iniファイルをMacのpatterns.iniに上書き。

  • win:%homedrive%%homepath%\Application Data\Mozilla\Firefox\Profiles\{fx user name}\adblockplus\patterns.ini
  • mac:~/Library/Firefox/Profiles/{fx user name}/adblockplus/patterns.ini

必要なのはこれくらいでした。あとはボタン配置をいじるのが手作業、オプションもいくつか手作業でいじりましたが、Macにした事で変更した物も有りました。

ブックマークはWebクリップ目的で残している物は全部Googleブックマークなので、GMarksを入れれば同期は不要です。しかしブックマークレットとそのfaviconはローカルのブックマークなので、これらの移行が目的です。他にいくつか未整理のブックマークも有りましたが。

StylishとAdblock+の必要性は言わずもがなですが、ファイルコピーだけで問題なく移行されるのは意外でした。昔聞きかじった話だとMac-Win間のファイルコピーは色々と問題ありげに記憶していたんですが、最近はよくできてるみたいです。

そろそろ同期ツールの導入を検討しようかと思っていますが、問題は今現在導入の必要がない事です。

関連

2010/09/07

少し誤解を招く、Google Readerのフルスクリーンモード

Google Readerをディスプレイ全体に表示する機能ではありません。ヘッダ/フッタ/サイドバー等を非表示にして、記事表示領域をウィンドウ内で最大化する機能です。ショートカットキーは修飾キーなしの"f"を押すだけでトグルします。

最大化した状態では、上部に「▼」が表示されており、マウスオーバーするとフィードに関するメニューが表示されます。

個人的にいままでStylishのuser styleで実現していた事が公式に実装されたので、一つ管理するスタイル指定が減って御の字です。

最大化(日本語のヘルプでは「全画面表示」)した状態では、"u"キーによるサイドバーのトグルはできません。また、サイドバー非表示状態で、最大化→最大化解除とすると、なぜかサイドバーの非表示まで解除されます。この辺はマイナーバージョンアップでその内直るでしょうか。

2010/09/06

WIndowsとMacのキー設定の差

Windowsではショートカットキーが概ね次のような傾向で割り振られていました。
Ctrl+

当該アプリケーションの機能を呼び出すキー。Ctrl+TABでタブを切り替えたり、Ctrl+Tでタブを開いたり、Ctrl+Rでリロードしたり。

Alt+

ウィンドウ操作に関する機能を呼び出すキー。アプリケーション横断的に、というかウィンドウマネージャに関する操作を行う機能。Alt+アルファベットでアクセラレータキー、Alt+F4で終了、Alt+Spaceでウィンドウメニュー、Alt+TABでウィンドウ切り替えなど。

Shift+

上記二つと組み合わせて、その機能を逆転させるキー。Ctrl+Tがタブを開く、ならばShift+Ctrl+Tは閉じたタブを開き直す。Ctrl+TABが右のタブにフォーカス、ならばShift+Ctrl+TABは左のタブにフォーカス。

ところがMacでは、アプリ内の機能であるリロードがCmd+R、タブを開くがCmd+Tでありながら、アプリケーションの終了(ウィンドウを閉じる)もCmd+Q、ウィンドウの最小化もCmd+Hと、WindowsでいうCtrlとAltの役割がCmdでごった煮にされている感じがします。

とくに逆転させる意図でもないところでShiftが使われていたり、Alt(Option)の使いどころも脈絡が読めなかったりします。

それ以前に、合間合間でWindowsに触るとCtrlのつもりでAltを押し間違いまくる。

両者で統一するにせよ、何か根本的にキー設定を見直さないといけない感じがします。

2010/09/05

Mac版Firefoxでもブックマークツールバーをfavicon化

ブックマークツールバーボタンに関するCSS

@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul); /* 下記のa-dを適宜選択して下さい。 全部一度に適用する必要は有りません。*/ /* inline:表示 none:非表示 */ /* a-1.ブックマークツールバーのボタンアイコン(フォルダ/非フォルダ両方) */ #bookmarksBarContent toolbarbutton.bookmark-item .toolbarbutton-icon { display : inline !important; } /* a-2.ブックマークツールバーのボタンテキスト(フォルダ/非フォルダ両方) */ #bookmarksBarContent toolbarbutton.bookmark-item .toolbarbutton-text { display : none !important; } /* b-1.ブックマークツールバーのボタンアイコン(フォルダ) */ #bookmarksBarContent toolbarbutton.bookmark-item[container="true"] .toolbarbutton-icon { display : inline !important; } /* b-2.ブックマークツールバーのボタンテキスト(フォルダ) */ #bookmarksBarContent toolbarbutton.bookmark-item[container="true"] .toolbarbutton-text { display : none !important; } /* c-1.ブックマークツールバーのボタンアイコン(非フォルダ) */ #bookmarksBarContent toolbarbutton.bookmark-item:not([container="true"]) .toolbarbutton-icon { display : inline !important; } /* c-2.ブックマークツールバーのボタンテキスト(非フォルダ) */ #bookmarksBarContent toolbarbutton.bookmark-item:not([container="true"]) .toolbarbutton-text { display : none !important; } /* d.ブックマークツールバーのボタンアイコン(フォルダ)横の▼ */ #bookmarksBarContent toolbarbutton.bookmark-item[container="true"] dropmarker { display : none !important; }

上記の中から必要な物を適宜Stylishで適用します。

Mac版Firefoxのブックマークツールバーは、テキストのみでfaviconが表示されません。恐らくこれはSafariの仕様に合わせている物と思います。

Mac版Firefox(デフォルト)

Mac版Safari

しかし、個人的にWindows版では全く逆の、faviconのみでテキストなしに設定していたためできれば統一させたいところです。

Mac版Firefox(変更後)

そこで調べたところ、どうやら(Safariは解りませんが)Firefoxに関しては、データとして存在している物をスタイルで隠しているだけらしいとの事。

もともとWindows版ではブックマークの「名前」欄を空欄にすることでテキストを非表示にしていたのですが、これもスタイルで隠せるとの事。管理画面で解りにくくなるので、名前を入れられるのならその方が良いですね。

各パーツのセレクタ

/* ツールバーボタン(全体)のセレクタ */ toolbarbutton /* ツールバーボタン(アイコン)のセレクタ */ .toolbarbutton-icon /* ツールバーボタン(テキスト)のセレクタ */ .toolbarbutton-text /* ツールバーボタン(フォルダ)のセレクタ */ toolbarbutton[container="true"] /* ツールバーボタン(非フォルダ)のセレクタ */ toolbarbutton:not([container="true"]) /* ツールバーボタン(フォルダ)横の▼(プルダウン)のセレクタ */ dropmarker /* ブックマークツールバーのセレクタ */ #bookmarksBarContent /* ブックマークツールバー配下のツールバーボタンのセレクタ */ .bookmark-item

単純に全てのツールバーボタンのテキスト部分を非表示にしてしまうと、ブックマークツールバー以外、たとえばグーグルツールバのボタンテキストなども消えてしまいます。

ブックマークツールバー配下のツールバーボタンには全て".bookmark-item"というクラスが適用されているようです。なので、ブックマークツールバーを限定する意図で「このクラスの配下にあるツールバーボタン」を指定する事もできます。

ただし、他のどこかの要素でこのクラスを使っていないとも限らないので(他のアドオンのツールーバ等)、限定する事を目的とするなら、一意性の保証されているIDセレクタを使用すべきかと思われます。

逆に、ブックマークツールバーに限定しない広範囲で適用したい場合は、クラス名のセレクタを使用する方が効果的な場合が有るかもしれません。

と言った理由から、冒頭のCSSは少し回りくどいセレクタになっています。また、参考にした鳥獣保護区さんでは、Mac版でfaviconがデフォルト非表示なのを利用して少ない指定で望む結果を実現していますが、私はWindows版と共用したいので個別に指定しています。

また、Mac版Firefoxでは、フォルダの横にプルダウンの▼が表示されているので、faviconは要らないかと思ったのですが、Windows版ではデフォルトで非表示でした。そのため、MacWin共用のスタイルを、となると、faviconは全表示で▼は消す、という状態に落ち着きました。

冒頭のCSSで言うと個人的には、ボタンアイコン(a-1)を表示、ボタンテキスト(a-2)を非表示、フォルダの▼(d)を非表示で使っています。

2010/08/28

Macでウィンドウを切り替える

⌘+Tab
アプリケーションを切り替える
⌘+F1
サブウィンドウを切り替える

Windowsの場合、Alt+Tabでサブウィンドウを含めた全てのウィンドウを切り替えられますが、Macの場合アプリケーションのインスタンス毎に切り替えた上で、サブウィンドウを切り替える必要が有るみたいです。

Windows 方式の場合、あるアプリのサブウィンドウから別のアプリのサブウィンドウに一足飛びに切り替えられるメリットは有りますが、ウィンドウが多すぎると、複数 のサブウィンドウが同じアイコンで表示されるので、タイトルを見ないと識別できないデメリットもあります。

Mac方式の場合、逆に2ステップかかるデメリットが有りますが、ウィンドウ数が多くても混乱しにくいメリットが有ります。

また、Macの場合、Exposeでも代用は可能みたいです。

F9
全てのウィンドウを一覧
F10
アクティブなアプリのサブウィンドウを一覧

ちょっと法則性が無くて覚え辛いですが、[システム環境設定] > [キーボード] > [キーボードショートカット]で確認できます。