Notify Signal

すっかり写真ブログ化しているこのブログですが。
今月末には新しい Fedora が出るはずなのでそろそろ本筋でも。
GTK4 のサンプルコードもそろそろ出そろってきたかなって。

GitHub – johnfactotum/quick-lookup: Simple GTK dictionary application powered by Wiktionary

このあたりが解りやすいかな。
省略表記多すぎ、てか文末セミコロンすら絶対に書かない派なのね。
まあ Gjs で GTK4 はこんなふうに書けばいいのかって参考にはなる。

気になったのは notify::is-active シグナル。
アクティブ化の真偽値をこのシグナルで捕まえられるのかな。

#!/usr/bin/gjs

imports.gi.versions.Gtk = '4.0'
const {GObject, Gtk} = imports.gi;

var TestWindow = GObject.registerClass({
    GTypeName: 'TestWindow'
}, class TestWindow extends Gtk.ApplicationWindow {
    _init(app) {
        super._init({
            application: app,
            title: '1'
        });
        try {
            this.connect('notify::is-active', () => {
                if (this.is_active) this.title += '1';
            });
        } catch(e) {
            printerr(`@@@Error@@@@:\n${e.message}`);
            app.quit();
        }
    }
});

var TestApplication = GObject.registerClass({
    GTypeName: 'TestApplication'
}, class TestApplication extends Gtk.Application {
    _init() {
        super._init({
            application_id: 'org.lumix.gh6'
        });
    }
    vfunc_activate() {
        let w = new TestWindow(this);
        w.present();
    }
});

let app = new TestApplication();
app.run(null);

おぉコレは使いどころがあるぞ。
昔筆者がやってた初回起動時間のセコい短縮なんかにも使えるね。
ウインド表示直後に処理 | Paepoi Blog

ところでこの Notify というシグナルって何だろう?

GObject.Object::notify

どうやら GObject のシグナルらしい。
そして is-active は GtkWindow のプロパティ。

Gtk.Window

つまりこのシグナルは何かプロパティをセットした時に吐きだすようだ。
別のプロパティで試してみよう、PyGObject でもイケるかな?

#!/usr/bin/env python3

import gi, sys
gi.require_version('Gtk', '4.0')
from gi.repository import Gtk

class TestWindow(Gtk.ApplicationWindow):
    def __init__(self, app):
        Gtk.ApplicationWindow.__init__(self, application=app)
        try:
            self.connect('notify::default-width', self.on_width_change)
        except Exception as e:
            print(e, file=sys.stderr)
            app.quit()

    def on_width_change(self, this, pspec):
        self.set_title(f'width: {self.props.default_width}')

class TestApplication(Gtk.Application):
    def __init__(self):
        Gtk.Application.__init__(self, application_id='org.olympus.pen')

    def do_activate(self):
        w = TestWindow(self)
        w.present()

app = TestApplication()
app.run()

width

イケた、ウインドウの横サイズを変更すると即座にタイトルが変更される。
Notify::** シグナルでプロパティを監視することが可能なんですね。
引数の GParamSpec から値を得ることもできると思うけど手段がワカラン。
プロパティを見ればいいだけなので別にいいか。

Nabana

今日の五条川、戻ってまいりました。
さて昨年は撮れなかったサクラカワセミーを今年こそ。

kawasemi

いや桜の木に止まってくださいよ、お願いします。
今日は他に二度見つけたけど撮影できず、来週こそ。

さて肝心の桜の花は岩倉市内で五分咲き程度。
桜がイマイチなら菜の花を撮影すればいいじゃん!

nabana

岩倉駅のすぐ近くにこんな場所があるのよ。

nabana

桜はイマイチだけど菜の花はガッツリ咲いているよ。

nabana

ぶっちゃけこんな景色はココら一帯だけなんだけどね。

sakura

桜の花も場所を選べば結構咲いています。
twitter で五条川を検索すると、やはり大量ですね。

ところで桜祭りは中止だけどライトアップの準備はされていた。
もう少し咲いたら夜桜でも、夜勤だから平日は無理だけど。

しかし今日は 17mm パンケーキ単焦点 f/6.3 のみで撮影したけど。
十分じゃね?プロレンズいらねーや。
それと EVF をまったく使わないので自動切替を off にしたら超快適。
仕上がり確認でアイセンサーが反応するのがうっとおしかったんだよね。
スーパーコンパネは OK ボタンで代用できる。

sakuramejiro

サクラメジローのほうが先に撮れてしまいました。
四千本もあるのによくぞ筆者の近くに来てくれた。

shidare ume

連休二日目、今日も朝から小牧山へ。
昨日撮影した花のアップ画像が全部イマイチだったので。

pink

こんなものかな。
まだまだヘタクソだ、もっと練習しなければ。

しかし今日は鳥が全然いない、いやカラスならいるけど。
頂上まで登ったりしたけど撮りたいものが何も無い。
それならということで大縣神社にいってみることにした。

1

大縣神社の梅は小牧山の梅とは違ってしだれ梅です。
ただ、ピンク色の花はほとんど散って白も散り掛けでした。

2

いやまあ例年ならもう終わっている時期ですし。
スカスカな感じ、行くならもっと早く行くべきだったかな。

3

全部がコイツくらい花が付いていたら綺麗だったんだろうなって。
ただ枝が垂れているというだけで花は普通に梅なんだなって。

jyoubitaki

梅にジョウビタキ。
ウメジローはいなかったけど目面しいモン撮れたぞい。

帰りは合瀬川沿いを通って再び小牧山へ。
カワセミがこの川にもいるんだね、初めて見た。
ただ五条川や八田川と違って身を隠す桜の木が無い、速攻逃げられた。

umejiro

戻って良かった、デカいウメジローが撮れたぞ。
ということで縮小前 2030 万画素のも置いておきます。

umejiro_full.jpg (5184x3888px) 5.6MB

umejiro

今日の小牧山。

umeen

梅園がやっと色づいてきました。

shiro

白いレンズの方々もスタンバイ中。

mejiro

こんにちは、ウメジローです。

mejiro

いつもならトリミングですが今日の主役は梅。

mejiro

というかウメジローのおかげで梅が引き立つ感じ。

kawadsuzakura

河津桜も咲いています、一本しかありませんが。
私的には桜より枝から直で花が出る梅の花のほうが好きです。

曇ってきたので今日はココまで。

LUMIX Blue

LUMIX のフォトスタイルにナチュラルってのがあるとついさっき知った。
ずっとスタンダードがナチュラルの意味だと思っていた、てかコレしか使っていない。

以前 OM-D の青より LUMIX のほうが青が綺麗とか書いた。
あの時 OM-D はナチュラル設定で LUMIX はスタンダードだった。

ちと改めて両方のナチュラル設定の青を較べてみよう。
ついでに LUMIX のスタンダードと OM-D の iFinish も。

全部パナライカで 200mm F8 での一例です。
スクリーンショットは macOS だとアレなので Fedora でやってみた。

blue

全部違う!こんなに違うとは思わなかった。
実際の目でみた時の感じは LUMIX のナチュラルが一番近いような気がする。
レンズがパナライカなのでもしかしたら OM-D は不利なのかもだけど。
というか OM-D は違いが極端すぎませんか?

で、一番綺麗に見えるのは個人的には LUMIX のスタンダードかな。
ルミックスブルーは存在します、ほんのちょっぴり青が濃くなります。

mejiro

昨日の五条川。
背景が綺麗な青空ってだけで凄く綺麗に見えるから不思議。
LUMIX はスタンダードで正解だな。
OM-D は、うーん。