Home > Windows Archive

Windows Archive

1 2 3

【Vim】Powerline でリッチなステータスラインを使う

前置き

Vim の設定においてステータスラインのカスタマイズは最もハマるものの一つだが、Powerline を使うとカコイイステータスラインが簡単に使えていい感じ。プラグインを導入する(+ いくつかの設定)だけで次のようなステータスラインがすぐ使える。

2012-01-24_081112.png

このプラグインが特徴的なのは、そのために専用のグリフまで用意しているところ。スクリーンショットで情報の境目に使われている のような記号がそれである。

これは既存のフォントに FontForge を使ってパッチを当てることで作成されるのだが、FontForge が簡単にインストールできる Linux、Mac OS X ではいざ知らず、Windows 環境ではなかなか大変。今回は cygwin を使うことで Windows 環境でフォントにパッチを当ててみた *1 。

Continue reading

“The GUI Loft”のサイトが消滅?

Perl で GUI を構築するときに便利なアプリ、「The GUI Loft」を公開していたサイトがドメインの期限切れにより見えなくなっている。業務で必要だったので青くなったが、幸いゴミ箱から発見できたので置いておこう。

Loft_binary.zip のダウンロード

http://blog.remora.cx/2010/03/gui-programming-with-win32-gui-loft.html

その後、公式サイトが復活したようなので、Loft_binary.zip へのリンクは削除しておきました。

解凍したフォルダを再圧縮したものなので、オリジナルとは多少異なっている恐れがあることをお断りしておく。

Whois で調べてみると、1 月 5 日にはドメインが失効していたらしい。このまま消えちゃうのかなあ *1

2011-01-13_130146.png

PAR で Perl スクリプトを exe 化する(ActivePerl 5.12.2 編)

もう 3 回目になるが、Perl スクリプトを exe 化する方法について。Perl が 5.12.2 にアップデートしたのでまとめてみた。

PARでPerlスクリプトをexe化 @ ActivePerl 5.10.1 build 1007
http://blog.remora.cx/2010/02/par-activeperl-5101-build-1007.html

ActivePerl 5.12 で PAR::Packer をインストール
http://blog.remora.cx/2010/04/install-par-packer-on-activeperl-5120.html

必要モジュールのインストール

まずは、PPM(Perl Package Manager)を使って必要なモジュール(+α)をインストールする。

Continue reading

keyhac で Emacs 風ショートカットを定義する

キーカスタマイズソフト keyhac において、“複数のキー入力へアクションを割り当てる”ことが可能になっていた。要するにこれは、Emacs 風のショートカットを実現するためのものだ。

from keyhac import *

def configure( km ):
    # グローバルキーマップ
    kmg = km.defineWindowKeymap()

    # “切り取り”は C-W に退避させておく
    kmg[ "C-W" ] = "C-X"

    # マルチストローク設定
    kmg[ "C-X" ] = km.defineMultiStrokeKeymap()
    # 開く
    kmg[ "C-X" ][ "C-F" ] = "C-O"
    # 上書き保存
    kmg[ "C-X" ][ "C-S" ] = "C-S"
    # 名前をつけて保存
    kmg[ "C-X" ][ "C-W" ] = "A-F", "A"
    # 終了
    kmg[ "C-X" ][ "C-C" ] = "A-F4"

これにより、Control を押下したまま、XC と順に叩いてウィンドウを閉じることができる。さらに応用として、

Continue reading

keyhac で簡単なマクロを作ってみる

keyhac を使ってキー配列をいじるスクリプトを紹介してきたが(その 1その 2)このソフトではキーボードやマウスを使ったマクロを書くこともできる。今回は簡単な例として、Putty + GNU Screen での例を書いてみる。

Putty + GNU Screen でウィンドウを簡単に切り替える

GNU Screen で複数のウィンドウを切り替える場合は“コントロールキャラクタを押した後に数字キー”という操作を行う。具体的には、

  1. Control + Z を押す *1
  2. Control + Z を離す。
  3. 3 を押す。

これで 3 番のウィンドウに切り替わる。毎回 Control を離す動作が面倒なのだ。これを、単に Control + 3 だけで切り替わるようにしたい。

config.py(部分)

def configure( km ):
    km_putty = km.defineWindowKeymap( exe_name = u"PUTTY.EXE" )
    for i in xrange( 10 ):
        km_putty[ "C-" + str( i ) ] = km.command_InputKey( "C-Z", str( i ) )

2 行目では特定のプログラム(PUTTY.EXE)でのみ有効なキーマップ(km_putty)を得ている。そして 4 行目がキモ。command_InputKey メソッドは引数に並べたキーを順に押した場合と同じ効果を得るための関数を返す。このスクリプトを使うと、Putty + GNU Screen な環境で Control + 09 を押すと、0 番~ 9 番のウィンドウに切り替わるだろう。

Continue reading

【Python 事始め】終了処理を追加する

スクリプトにバグがあった場合、Python はエラーメッセージを出力して終了することになるが、py2exe で exe 化している場合、そのメッセージは一瞬で消えてしまって読むことが出来ない。そういうときは終了処理を追加して一旦待って貰おう。この用途には atexit モジュールを使う。

使用例

次のようなスクリプトを実行すると勿論エラーで落ちるが、exe 化しているとウィンドウすら表示されないのでメッセージが読めない。

# coding=utf-8
# ゼロ除算エラーになる
1 / 0

そこで、スクリプトの最初に次のような処理を追加する。

# coding=utf-8
import atexit

def goodbye():
    """
    終了処理
    """
    raw_input( u"Enter キーを押してください".encode( "cp932" ) )

atexit.register( goodbye )

# ゼロ除算エラーになる
1 / 0

このスクリプトを py2exe で exe 化して実行すると、次のように表示される。

100505-0002.png

【Python 事始め】コマンドプロンプトで色付き文字を使う

コマンドプロンプトで色付き文字を使うにはこのモジュールがいいみたい。Perl で言うなら Win32::Console::ANSI参考)に当たる。

WConio -- Windows CONsole I/O for Python
http://newcenturycomputers.net/projects/wconio.html

color.py

# coding=utf-8
from WConio import *

# おまじない。元の設定を保存しておく。
old_setting = gettextinfo()[4] & 0x00FF

textcolor( GREEN )
print u"これは緑です"
textcolor( LIGHTRED )
print u"これは明るい赤です"
textbackground( DARKGRAY )
print u"背景を灰色にしました"
textattr( old_setting )
print u"元に戻りました"
print u"何かキーを押してください"
getch()

実行例

100429-0001.png

WConio.textcolor() で前景色、WConio.background() で背景色を指定できる。WConio.getch() を使えば一文字だけ受け付けるプロンプトも作れる。上記リンクには他にもいろいろな関数が紹介されているので使ってみよう。

【Python 事始め】YAMLで書いた設定ファイルを読み込む

Python で YAML を扱うためにはサードパーティのモジュールが必要だ。Perl で言う cpan コマンドに当たるのは easy_install というものらしい。

easy_installとは
http://morchin.sakura.ne.jp/effective_python/easy_install.html

モジュールのインストール

ブラウザで ez_setup.py をダウンロードして実行する。

C:\> python ez_setup.py

これで Python をインストールしたフォルダ直下の Scripts フォルダに easy_install.exe という実行ファイルが作成される。

Python で YAML を扱うモジュールは PyYAML というのがいいみたい *1 。インストールは次のコマンドをたたくだけだ。

C:\> D:\Python26\Scripts\easy_install PyYAML

Continue reading

【Python 事始め】Windows アプリを作ってみる

業務で使う簡単なアプリを JScript や Perl を使って作っていたのだが、なんか飽きてきたので Python を始めてみた。まず一番初めにコンソールアプリを作るお勉強。所謂“exe 化”。Perl で言う PAR(参照 : その1その2)に当たるものは Python では py2exe らしい。

py2exe モジュールについて
http://python.matrix.jp/modules/py2exe.html

FrontPage - py2exe.org
http://www.py2exe.org/

Continue reading

SandS (Space and Shift) を使おう!【keyhac 編】

日本語キーボードドライバで英語配列を使う【keyhac 編】」に続いて、keyhacSands の設定を行ってみる。

そもそも SandS とは何かというと、親指シフト配列キーボードの特徴のうち、「ホームポジションに手を置いたときに親指の位置にあるキーを修飾キーとして使う」機能だけを通常の JIS(あるいは ASCII)配列のキーボードで実現するものだ。具体的には、Space キーを Shift キーの代わりとして使うことである。

  1. Space キー単体を押したときはスペースを表示し、
  2. Space キーを押しながら 4 キーを押すと、「$」記号を表示する。

こんな機能が実現できる。タイプするときにほとんど働いていない親指を使うことで、Shift Control Tab Enter などの打鍵で忙しい小指を休ませることが狙いだ。ただ、Space キーを押して一定時間(数十~数百ミリ秒)を上記 1. 2. の判定に使うので、単にスペースを入力したいときは僅かに待つことになる。そこは慣れるしかない。

では実際の設定方法を載せておく。……そのまま引用しただけだけども。

# config.py
from keyhac import *

def configure(keymap):
    keymap_global = keymap.defineWindowKeymap()
    keymap.replaceKey("Space", "RShift")
    keymap_global["O-RShift"] = "Space"

http://d.hatena.ne.jp/mobitan/20081128/1227792452

Continue reading

1 2 3

Index of all entries

Home > Windows Archive

Feeds
CC Licence

Creative Commons License

このブログはクリエイティブ・コモンズでライセンスされています。

W3C Validation

I ♥ validator

Return to page top