GtkEntry でコード保管

今日は gtk.Entry の覚書を作っていたんだが。

gtk.Entry

gtk.Entry.set_completion メソッドって何だ?
Windows の CreateWindow() で指定する EDIT のような感覚で今まで利用していたんだが。

GtkEntryCompletion

英語ではよく解らないから日本語で探してみた、C の書き方で探せばなんとか見つかるなと。
そうか、ようするにいわゆるコード保管機能が標準装備ってことなのね。

説明だけではイマイチ解らないので実験コードを書いてみる。
とにかく GtkListStore をモデルとしてセットしてコレに文字列を詰め込みすればいいみたい。
追記、ちょっと書き換えと自動昇順ソート追加

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import gtk

slist = [
"abc",
"aaa",
"aab",
"bbbbb",
"あぁん",
"あっはーん",
"あん、あっあーん"
]

class Win(gtk.Window):
    def __init__(self):
        gtk.Window.__init__(self)
        self.connect("delete-event", gtk.main_quit)
        # Entry
        entry = gtk.Entry()
        # completion
        completion = gtk.EntryCompletion()
        entry.set_completion(completion)
        liststore = gtk.ListStore(str)
        completion.set_model(liststore)
        # ascending sort set
        liststore.set_sort_column_id(0, gtk.SORT_ASCENDING)
        # set the completion
        completion.set_text_column(0)
        # load up the liststore with string
        for item in slist:
            liststore.append([item])
        # pack
        vbox = gtk.VBox()
        vbox.pack_start(entry, False)
        self.add(vbox)
        self.set_size_request(300, -1)
        self.show_all()

if __name__ == "__main__":
    w = Win()
    gtk.main()

日本語でも保管が通るのかも兼ねて「あ」と打ち込んで確定してみる。

マジですか、こんな手抜き臭いコードで日本語対応のコード保管ができてしまった。
他に match-selected シグナルを利用する方法もあるようだ、動的に行うのも楽そうだ。
もう少し調べると面白そう、やはりこういうまとめページは作っておくべきかなと思った。

ffmpeg aac

ffmpeg を使って mpeg4 から aac 音声のみを抜き出しできるんだね。
しかし皆コマンドでやっているんだろうか?

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import os

ffcommand = "ffmpeg -i %s.mp4 -acodec copy %s.aac"

path_array = os.environ["NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"].split("\n")
for f in path_array:
    pos = f.rindex(".")
    name = f[:pos]
    os.system(ffcommand % (name, name))

みたいなのを Nautilus スクリプトに登録すればいいのに。
シェルスクリプトで書いたほうが短いけど書き方がイマイチワカランので Python で。

試しにいくつか去年 YouTube から拾った mpeg4 でやってみた。
音だけだとやはりパソコンの音…
映像って凄いな、こんな音でも気にならなくなるんだもの。

ということで覚書ページは地味に書き直ししています。
覚書のページ – L’Isola di Niente
当分はアッチで。

Mobile is Mobile

【PC Watch】 マイクロソフト、アーチ型デザインの無線キーボード「Arc Keyboard」

ムムッ!この矢印キー的な発想は無かった。
Aspire 1410 での矢印キー操作に「五万円も出したのに…」な人って私以外にも多いかな?
ネットブックでは性能で元(満足度)が取れないのは解っていたけど CULV でもやはりキー配置がアンマリだ。

ということで無線キーボードを探してみたんですけど。

でも Home や PageDown キーがココってどうなのだろう?
一般人はテンキーをどうだなんて解っています、私基準で書いたら得に Home キーが気になる。
Home や PageDown がこの位置では更に「フザケルナ!」になりそうな悪寒。
フルキーボードって恐るべきそのままの理由で「フル」だと、単独キーでイケルのだから。

だからフルキーボードで使っている Linux ばかり利用するんだよね。
Mobile は結局 Mobile である。
Windows 自身が Linux より色々面倒なのもあるが CLUV はメインで使うには厳しい。

Apple Wireless Keyboard Helper for Windows – misuzilla.org

IronPython 屋ならこの「デフォルトのスクリプト」をクリックして見てくれ。
なんだよ、IronPython で実用的な拡張を実践している人が本当にいるんだ。
おんぶなアプリは親の仕様変更にだっこされる運命、カワイソ(略
でもこの公開スクリプトは色々と参考になるぞと。

gtk.Button

覚書ページに gtk.Button を追加。
gtk.Button だけでは書くことがスゲェ少ないのでオマケ付き。

gtk.Button and click

細かい解説ではなく実用的に書いているつもり。
というか解説ならば英語だけど公式サイトのみで十分だと思うのよね。

しばらくは覚書ページに専念…するかもしれない。
アルゴリズム関係の勉強もやりたいし自作アプリの機能追加もやりたいし…