clipoli」タグアーカイブ

clipoli 2.0.0

よく考えたら半年以上もアプリの更新をしていなかった。
ということで前回の適用を行い clipolix を clipoli と名前を変えて更新!

せっかくなので PyGI 化だけでなく気になっていた部分をチマチマ。

・Windows 版と名前を変える必要は無かったということでで名前変更
・GNOME はドットファイルをヤメたいようなので ~/.config に設定位置変更
・GLib.spawn_command_line_async はチルダを展開しないので自力変換
・GTK+ 必須なのだから gvfs を遠慮なく利用

それと Python の open や subprocess ではなく全部 GLib, Gio で処理。
そうしておけば Vala,Gjs 等の gir を利用する他の言語からでも参考にできるはず。

例の Unity の糞みたいなパネル追加制限は以下のように回避

UNITY = "com.canonical.Unity.Panel"
APPNAME = "appname"

if UNITY in Gio.Settings.list_schemas():
    setting = Gio.Settings.new(UNITY)
    value = setting.get_strv("systray-whitelist")
    if not "all" in value:
        if not APPNAME in value:
            value.append(APPNAME)
            setting.set_strv("systray-whitelist", value)

GStrv は PyGI では list のごとく append で文字列を追加できるようです。
こんなにアッサリと制限突破が可能だしまったく無意味だと思う。
つか Unity のためだけにこんな処理を入れるのメンドイぞ!

ついでに。
GtkMenu って for-in 文で GtkMenuItem を取り出せるのね。

#! /usr/bin/python
# -*- encoding: utf-8 -*-

from gi.repository import Gtk

menu = Gtk.Menu()

for label in ("HAYABUSA1300", "ZZR1400", "VMAX"):
    menuitem = Gtk.MenuItem.new_with_label(label)
    menu.append(menuitem)

#for menuitem in menu.get_children():
for menuitem in menu:
    print menuitem.get_label()

menu.get_children() と結果は同じなのでそうバインドしているのだろう。
実際にアプリケーションを作ってみないと気がつかないことって多いなと。

ということで追加機能とかは何もない。
GNOME3 で使いにくいのは GNOME 3.8 に期待で済ませることにする…

clipolix 1.0.0

clipolix 1.0.0 公開しました。
何も難しくはなかったけどメニューのリロードで迷った。
一度 gtk.Menu.remove() で全削除して作り替えたら消えるし…

なんてことはない、show() させていなかっただけだった。
GTK+ のウィジェットはデフォルトが非表示なのよね、逆に面倒くさいよ。

他シグナルのハンドラを on_* にしたり細々。
ま、こまかいことは GPL なのでということで。

clipoli 1.0.0

clipoli を正式公開。
それとトップページのレイアウト変更、ついでに幾つかのアプリを公開終了をした。
vector に放置している奴も公開停止以来を、何を今ごろだが…

コンパイルしないで Blog と同じようにビルドバッチ付きソースコード配布にした。
これでイケそうだったので、一応オンラインヘルプにビルド方法は書いた。
というかソレがやりたいから作ったといっても過言ではないわけで。

アイコンは Windows 7 のデザインに合わせたつもり、XP だとカッチョワルイ。

WindowsForm を使いたくなかったのでバージョン情報はヒントウインドウで。
レイアウタという概念が無い化石 GUI なんて早くサポートを終了してください。
Forms 名前空間を使わないでトレイが使えるようにならないかな。

INI の読み直し機能を付けた、この機能以外は全部 INI でまかなう方向にした。
つまり作者サイトへのランチャも default.ini を開く機能も消せるという凄い仕様…

ソースコードに <summary> も書いた、あんまり意味ネェ。
今気がついたけどコンストラクタの param name 間違えた!次で直そう。
そういえば readme.txt を付けていない…まあいいか、ソースコード配布だし。

とりあえずこんな仕様になった、初版なんだから何だっていいや!
本日はお知らせのみ。