タグ

ブックマーク / psychs.hatenablog.com (2)

  • InputSwitcher - Psychs's blog

    Leopard で、アプリケーションごとにインプットマネージャの状態を保持してくれないのが微妙に不便だったので、別々に保持するのを作ってみた。要 SIMBL。 http://limechat.net/inputswitcher/index_ja.html 詳しい仕組みはこんな感じ。(ドキュメントより抜粋) InputSwitcherClient.bundle は、SIMBL 経由で各アプリケーションのプロセスに潜り込み、アプリケーションの activate と、deactivate の2つのイベントを、あらかじめ起動しておいた InputSwitcher.app に通知します。 InputSwitcher.app は、各アプリケーションごとに入力ソースの状態を保持しています。activate イベントの通知を受け取ったときに、入力ソースをオン・オフして、以前の入力ソースの状態に復元します。

    InputSwitcher - Psychs's blog
  • JavaScript で幅に合わせて文字列を切りつめる - Psychs's blog

    デスクトップアプリを開発してると、ListView のカラム幅が足りなくなったときに「My Docume...」のように自動的に末尾を「...」で埋めて切りつめてくれる機能がある。ウェブでも同じことをやりたかったので、作ってみた。 まず、文字列の幅を測定するには、 <span id="ruler" style="visibility:hidden;position:absolute;"> </span> みたいな隠しエレメントを用意しておいて、 String.prototype.getExtent = function(ruler) { var e = $(ruler); var c; while (c = e.lastChild) e.removeChild(c); var text = e.appendChild(document.createTextNode(this)); var

    JavaScript で幅に合わせて文字列を切りつめる - Psychs's blog
  • 1