Hatena::ブログ(Diary)

Koonies/こりゃいいな! このページをアンテナに追加 RSSフィード

2009 | 06 | 07 | 08 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 10 |
2011 | 01 | 02 | 05 | 06 | 07 | 08 | 09 |
2012 | 05 | 06 |

2012-06-11

Koonies2012-06-11

TortoiseHgのカスタムツールバーを設定する方法

TortoiseHg 2.4.1リリースされました。で、1つ前のバージョン2.4で追加されたカスタムツールバーはどうやって設定するのかずっと気になっていましたがようやく分かったのでメモを兼ねて、書いておきます。

設定方法

[tortoisehg-tools]

# Execute a mercurial command. These _MUST_ start with "hg"

# Note that we can use any built-in TortoiseHg icon

update_to_tip.command = hg update tip

update_to_tip.tooltip = Update to tip

update_to_tip.icon = hg-update

no title

上記のように設定ファイルへ[tortoisehg-tools]という項目を追加し、それに続けてコマンドの設定を書きます。それで書けたらソフトを再起動します。

.command必須で、.tooltip.iconオプション(無くても可)ということです。ちなみに上記の引用元のサイト記述例は

誤:update_to_tip.ico = hg-update

正:update_to_tip.icon = hg-update

という風にnが抜けているためアイコンが正しく設定できていないようです。

それとアイコンの設定にはicoファイルのフルパスの他、hg-updateのように内蔵アイコンも設定可能みたいです。これ以外にも下記のアイコンが使える模様。

(右上のスクリーンショットはコレの一覧)

application-exit

document-new

edit-cut

edit-find

go-down

go-jump

go-next

go-previous

go-up

hg-annotate

hg-archive

hg-clone

hg-commit

hg-grep

hg-incoming

hg-log

hg-merge

hg-outgoing

hg-pull

hg-push

hg-qguard

hg-qpop-all

hg-qpop

hg-qpush-all

hg-qpush

hg-rename

hg-status

hg-tag

hg-update

mail-forward

process-stop

tasktab-refresh

thg-console

thg-log-load-all

thg-mq

thg-qreorder

thg-reporegistry

thg-sync

view-filter

view-refresh

さいごに

どうやって設定するんだろ、と1ヶ月もモヤモヤしてたのがスッキリしました。

よかったら参考にしてください。それでは。

2011-09-06

keyhacでCapsLockをモディファイアキー定義して無理矢理使う

keyhacの話。ある2chのスレを見ていたら、keyhacでCtrlとCapsLockキーを入れ替えようとしたが無理だった、というやりとりを見かけました。

CapsLockというキーは他のキーとは違いDownのイベントは発生するけど、Upは発生しない(ドライバマスクしているらしい)ため、Ctrlと入れ替えた場合、押されっぱなしの状態になるとか。

試しにkeyhacで内部ログON*1にして、CtrlとCapsキーを押してみると

# Ctrlを押して離した場合

IN  : D-LCtrl
TRU : D-LCtrl
IN  : U-LCtrl
TRU : U-LCtrl
IN  : O-LCtrl

# CapsLockを押して離した場合

IN  : D-(240)
TRU : D-(240)

という風にCapsLockは「U-(240)」が出力されていません。だから入れ替えは無理、か。確かにこれは無理だなと思う反面、出来ないと言われると、何とかしたくなるのが人情

で、色々考えた末、入れ替えは無理でもユーザー定義モディファイアキー*2としてなら使えるかもと思い、書いてみました。

コード

# config.py

from keyhac import *


def configure(keymap):

    ## 関数実行時にモディファイアの状態をリセットするデコレータ
    def reset_modifier(func):
        import functools

        @functools.wraps(func)
        def _reset_modifier(*args, **kw):
            # モディファイアの状態を無理矢理リセット
            keymap.modifier = 0
            # 関数実行
            return func(*args, **kw)
        return _reset_modifier

    ## JobQueue/JobItem でサブスレッド処理にするデコレータ
    def job_queue(func):
        import functools

        @functools.wraps(func)
        def _job_queue(*args, **kw):

            num_items = JobQueue.defaultQueue().numItems()
            if num_items:   # 処理待ちアイテムがある場合は、その数を表示
                print u"JobQueue.defaultQueue().numItems() :", num_items

            def __job_queue_1(job_item):
                return func(*args, **kw)

            def __job_queue_2(job_item):
                # print "job_queue : ", func.__name__, args, kw
                pass

            job_item = JobItem(__job_queue_1, __job_queue_2)
            JobQueue.defaultQueue().enqueue(job_item)

        return _job_queue

    ## 一定時間経過後にモディファイアの状態をリセット
    @job_queue
    def auto_reset_modifier():
        import time
        WAIT_TIME = 0.5  # 秒
        time.sleep(WAIT_TIME)
        # モディファイアの状態を無理矢理リセット
        # if keymap.modifier: print keymap.modifier
        keymap.modifier = 0

    @reset_modifier
    def minimize():
        keymap.getTopLevelWindow().minimize()

    # どのウインドウにフォーカスがあっても効くキーマップ
    keymap_global = keymap.defineWindowKeymap()

    # ユーザモディファイアキーの定義:CapsLock(240) --> U1
    keymap.defineModifier("(240)", "U1")

    # 単体押しは一定時間後にモディファイアの状態をリセット
    # keymap_global["U1"] = auto_reset_modifier     # これだとキー表記エラー
    keymap_global["(240)"] = auto_reset_modifier

    # Caps + a : ウィンドウ最小化
    keymap_global["U1-a"] = minimize

関数定義で@reset_modifierのデコレータを使うと、関数の実行時にモディファイアキーの状態をリセットします。これによりCapsLockキーの押されっぱなしを防止しています。

これで一応モディファイアっぽく使えます。ただしタイトルに「無理矢理」と書いたように同時押しでなくても

CapsLockを押す → 離す → (0.5秒以内に)Aを押す

でも認識されてしまいます。また、CapsLockを押したままA、Aと2回押すと、2回目のAは同時押しではないAになってしまう等の欠点があります。

■ さいごに

日頃からCapsLockキーって押しやすい場所にあるのに全然使ってないなと思っている方はどうぞ。

■ 参考リンク

ページが見つかりませんでした - craftware

キーカスタマイズソフト 2

*1:トレイアイコン右クリック→内部ログONをクリック

*2:Ctrl・Shift・Alt・Winキーのような装飾キー

2010-10-02

お手軽便利な!Chromeでライブブックマークな拡張「Foxish Live RSS」

FirefoxにあってGoogle Chromeにないもの、それはRSSのネイティブサポート

FirefoxではRSSフィードを自動検出し、これをユーザーが登録するとブックマークバーからBlog等の新着記事を開くことができるようになります。

これをライブブックマーク機能と言います。(要はRSSリーダー、詳しくはコチラ

これをGoogle Chromeでも再現できちゃうエクステンションが、今回紹介するFoxish Live RSS。以下、導入方法です。

1.まずは「Foxish Live RSS」のダウンロード

Foxish live RSS - Google Chrome 拡張機能ギャラリー20101002183737

上記サイトに行き、「インストール」 ボタンを押し、続くダイアログでもインストールボタンを押します。

2.ライブブックマーク用のブックマークフォルダの作成(省略可)

ブックマークマネージャーまたは、ブックマークバー上で右クリックの「フォルダの追加...」で、「RSS」という名前のブックマークフォルダを作ります。(場所はドコでもOK)

20101002191235

3.RSSフィードの登録

ではRSS登録のサンプルとして、このホームページで試してみます。

20101002205955

  • 次に「RSS 2.0」をクリックすると、以下ような画面が表示されます。

20101002205954

  • ここで登録するフォルダを選択します。「Parent Folder」から先ほど作成した「RSS」を選択し、「Subscribeボタン」をクリック
  • 以上で、登録は完了で、5分ほど待てばRSSで取得した新着の記事が設定したフォルダに登録されます。
★ さいごに

じつはこの間までRSS Live Linksという同様の機能を持った拡張を使っていたのですが、2日前のDev版アップデート後はエラーで使えなくなってしまいました。

とりあえずこの拡張無しでいいかと最初は思ったのですが、無くなるとすごく不便なことに気付きこの拡張に行き着いた次第です。

導入も簡単ですし、一度試されてみては?

追記:「chrome ライブブックマーク」でGoogle 検索してみると、いきなりこの記事が2番目に表示されています。ChromeユーザーはGoogleリーダー使っているから、ライブブックマーク必要ないんですかね??

謎だ。

関連記事


便利!Chromeでライブブックマーク再現のExtension「RSS Live Links」

2010-04-09

便利!Chromeでライブブックマーク再現のExtension「RSS Live Links」

FirefoxからChromeに乗換えたとき、Chromeにはライブブックマーク機能がないことを知り、ちょっと不便だなと思いながら、使い続けて1年、最近になってライブブックマークを再現するエクステンションを見つけたので、それの紹介です。

そのエクステンションの名前は「RSS Live Links」。

以下、導入方法です。

1.「RSS Live Links」のダウンロード

RSS Live Links - Google Chrome extension gallery

上記サイトに行き、「Install」 ボタンを押し、インストールをします。

20100408220650

2.ライブブックマーク用のブックマークフォルダの作成

ブックマークマネージャーまたは、ブックマークバー上で右クリックの「フォルダの追加...」で、「RSS Live Links」という名前のブックマークフォルダを作ります。(場所はドコでもOK)

20100408220651

3.フィード登録用のエクステンションもインストール

一応RSS Live Links本体でもフィード登録は可能ですが、若干使いにくいのでフィード登録専用のエクステンションもインストールします。

RSS Subscription Extension (by Google) - Google Chrome extension gallery

上記サイトに行き、「Install」 ボタンを押し、インストールをします。

そして「chrome://extensions/」から、この拡張のオプションを開きます。オプション画面の「追加」ボタンを押すと次のような画面になるので

20100408223545

説明:

RSS Live Links

URL:

chrome-extension://hcamnijgggppihioleoenjmlnakejdph/subscribe.html?%s

と入力し、「保存」ボタンを押します。

(*他のRSSリーダーを使用しないなら「フィードの登録時に常にデフォルトのリーダーを使用します。」にチェックボックスをONにする)

以上で、RSS Live Linksと連携させる設定は完了です。

4.RSSフィードの登録

ではRSS登録のサンプルとして、このホームページで試してみます。

20100408233404

  • 次に、「RSS 2.0」をクリック ↓

20100408233403

  • それから「RSS Live Links」を選択し、「今すぐ登録」をクリック ↓

20100408233402

  • フィードの名前を入力し、「Save」をクリック ↓

20100408233401

  • 以上で、登録は完了しました。

(もしかすると、ここで一度だけ再起動が必要かも? 上記手順2で追加した「RSS Live Links」フォルダの中が空なら再起動をして下さい。そうすれば登録が反映されていると思います。)

20100408233400

これでようやく、Chromeでもライブブックマークが使えるようになりました。

なお英語ですが、この拡張のヘルプは「RSS Live Links README - Google ドキュメント」でみることができます。

★ さいごに

そんな訳で、Firefoxでライブブックマークを使っていたのにChromeに移行したら使えなくなってGoogleリーダーを使いだしたという方や、ライブブックマーク未体験の方も一度は試してみてはいかがでしょうか。かなーり便利です。

★ 追記

いまのバージョンでは、

1.オプション画面で「Subscriptions」で対象の項目を選択

2.「Modify」ボタンを押す

3.その先のオプション画面で「Use bookmark folder」にチェックを付ける

4.最後に「Save Options」を押す

という設定をしないとフォルダに反映されないようです。

2010-01-08

知らなかった!windows版chromeのPinTab機能

いまMac版のChromeエクステンションついに登場(この際Dev版を使おう) | TechCrunch Japanを見ていたらMac版chromeにはPinTab機能というのが搭載された、らしい。

最新dev版には“Pin Tab” と呼ばれるちょっとしたお役立ち機能も追加された。タブをタブバーの左側にファビコンだけの小さなタブとしてまとめておくことができる機能だ。これは大いにスペースの節約になる。普通のタブを右クリックするだけでこのアイコン化ができる。

Macだけいいな〜と思って調べてたら普通にwindows版にもありました。

方法はタブを右クリックして「タブを固定する」を選ぶだけ。簡単!

ずっと開きぱなしのタブが結構あるのでこりゃ便利ですねぇ。

2009 | 06 | 07 | 08 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 10 |
2011 | 01 | 02 | 05 | 06 | 07 | 08 | 09 |
2012 | 05 | 06 |
日記の検索

ads
最近のコメント
etc
あわせて読みたいブログパーツ