月別アーカイブ: 2021年11月

aki

今日の五条川。
は少し趣向を変えて紅葉写真の練習。

1

千本桜の中にヒョッコリ楓が混ざっている場所がいくつかある。
五条川を背景に、背景の無いイラストとかってつまんないよね。

2

毎度の玉ボケを作ったけどちょっと白飛びした。
しかし Youtube にある写真講座とかを見ると背景が何なのか全然解らないほどボカした写真ばかりでなんだかなって。

3

銀杏の木は五条川には無いけど岩倉で合流する矢戸川にある。
いや、名駅の桜通りに山ほどあるのは知っているけど。

4

ところで、カメラを縦向きで撮影した場合だけど。
RAW を Lightroom で現像すると普通に縦写真になるんだね。
LUMIX 内で現像するとスマホ写真と同じ回転情報付きの横写真なんですけど。
以下の PyGObject コードで確認した。

#!/usr/bin/env python3

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

LIGHTROOM = 'ichou.jpg'
LUMIX = 'sagi.jpg'

class TestWindow(Gtk.ApplicationWindow):
    def __init__(self, app, fn):
        Gtk.ApplicationWindow.__init__(self, application=app, title=fn)
        #
        f = Gio.file_new_for_path(fn)
        pic = Gtk.Picture(file=f)
        self.set_child(pic)
        self.set_default_size(300, 300)
        self.present()

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

    def do_activate(self):
        TestWindow(self, LIGHTROOM)
        TestWindow(self, LUMIX)

app = TestApplication()
app.run()

5

メーカーによって違うかもしてないけど。
Lightroom を使っていれば回転情報のアレコレは心配しなくていい。

さて、見ての通りバリアングル液晶を駆使して撮っています。
以前はバリアングルなんて不要と思っていたのになぁ。
あると使うもんだ、ミラーレス万歳。
固定液晶てかレフ機な D3400 はもう使うこと無いかも、

しかしやはりサブカメラが欲しい。
今日もレンズを超望遠に交換している間に野鳥を見失ったぜ。。。。。
超望遠付けっぱと通常用の二台体制ならば、ってマジ思う。
マイクロフォーサーズでバリアングルが絶対条件で。

やはり G9 pro を野鳥用に買って G99 をサブに回すか。
でも似たようなカメラを買ってもなぁと思うし、重いのも困る。
E-M5 をサブ機に買って小型軽量狙いのほうがいいかも。
でも評判はイマイチなんだよな、使ってみないとわかんないけど。
この二択だよな、あぁ悩んでいる時が一番楽しい。

bird

先週の五条川、とその周辺。
別の個体だからと同じ鳥を何度も公開、は筆者的にはツマラナイのでまとめて。

hidorigamo

ヒドリガモ、清洲城付近にて。
筆者の認識する五条川は基本岩倉で、犬山の羽黒から清洲まで満遍なくです。
いや、鴨は名古屋城の堀や堀川のほうが寄れるのでソッチのほうがいいよと。
てか特にキンクロハジロなんて堀川ばかりに、五条川にも来てよって。

goji

アオジ、小牧山にて。
基本薮の中にいるんだけど次の薮を狙う時に高所に飛び出す一瞬が狙い。
薮に入ってしまったらカメラで捉えるなんてもう無理だよねこんなの。
2021.11.16 な小牧山は野生のサルが出没らしい、先週から行っていないけど。

uguisu

ウグイス、犬山城付近にて。
えっと、ウグイスって薮の中をサーカス並のアクロバットな移動するのね。
平地ではスズメよろしく両足ジャンプでの移動だけど、薮の中では最強なのかも。
今回は尻しか撮れなかった、それくらいに。

Hataka

ハイタカ、堀尾跡公園付近にて。
こんな見た目なのにハトくらいの体格、タカなのに可愛く見える。
休憩やトイレ用途によく利用している公園だったけど、ココ有名だったのか…
てか SSR だろ、初めて見つけたてか存在すら知らなかったもん。

場所だけ見れば歴史や城のマニアっぽく見えるな、あぁ愛知県の隠れた名所。
城の写真なんて一枚も撮っていないのに。

macOS Monterey JXA

macOS Monterey の JXA は NSRect のバグが無くなった。
ということで、今の知識で NSWindow を作ってみたらどうなるか。

いや PyObjC のほうが簡単なんだけど、デフォルトで入っていないのが。
JXA ならどんな Mac でもそのまま動かせるという利点があるので捨て難い。

ただ JXA では PyObjC みたいに class にできないんだよなぁ。
ネットで簡単に見つかる方法では全部グローバル変数にするしかないのが。
そもそも JavaScript の class は他の言語の class とは違うし。
なので GNOME の Gjs もアクロバットな手段で class っぽくしている。

ObjC.registerSubclass を上手く利用してソレっぽくやってみよう。
追加メソッドはどう書けばいいのかな?とか。

#!/usr/bin/osascript

ObjC.import('Cocoa');

//let wins = [];

ObjC.registerSubclass({
    name: 'AppDelegate',
    protocols: ['NSApplicationDelegate'],
    methods: {
        'applicationDidFinishLaunching:': function (notification) {
            let window = $.MyWindow.alloc.initWithContentRectStyleMaskBackingDefer(
                $.NSMakeRect(0, 0, 300, 100),
                $.NSTitledWindowMask
                | $.NSClosableWindowMask
                | $.NSMiniaturizableWindowMask
                | $.NSResizableWindowMask,
                $.NSBackingStoreBuffered,
                false
            );
            window.makeKeyAndOrderFront(window);
            $.NSApp.activateIgnoringOtherApps(true);
            //wins.push(window);
        }
    }
});

ObjC.registerSubclass({
    name: 'WinDelegate',
    protocols: ['NSWindowDelegate'],
    methods: {
        'windowWillClose:': function(notification) {
            console.log('MyApp Close !');
            return $.NSApp.terminate(0);
        }
    }
});

ObjC.registerSubclass({
    name: 'MyWindow',
    superclass: 'NSWindow',
    propertyies: {},
    methods: {
        'initWithContentRect:styleMask:backing:defer:': function
        (contentRect, style, backingStoreType, flag) {
            let _this = ObjC.super(this).initWithContentRectStyleMaskBackingDefer(
               contentRect, style, backingStoreType, flag);
           _this.title = $('JXA NSWindow');
           _this.delegate = $.WinDelegate.new;
           // Button
           let button = $.NSButton.buttonWithTitleTargetAction('button', this, 'onButtonClick:');
           button.setFrame($.NSMakeRect(10, 10, 200, 36));
           _this.contentView.addSubview(button);
           // return
            return _this;
        },
        'onButtonClick:': {
            types: ['void', ['id']],
            implementation: function(sender) {
                sender.setTitle('Clicked!');
            }
        }
    }
});

/**
 * Application
 */
$.NSApplication.sharedApplication;
$.NSApp.setActivationPolicy($.NSApplicationActivationPolicyRegular);
$.NSApp.mainMenu = function() {
    let mainMenu = $.NSMenu.new;
    let itemApp  = $.NSMenuItem.new;
    mainMenu.addItem(itemApp);
    let menuApp  = $.NSMenu.new;
    itemApp.setSubmenu(menuApp);
    // quit menu
    let itemQuit = $.NSMenuItem.new;
    itemQuit.initWithTitleActionKeyEquivalent('Quit App', 'terminate:', 'q');
    menuApp.addItem(itemQuit);
    return mainMenu;
}();
$.NSApp.setDelegate($.AppDelegate.new);
$.NSApp.run;

nswindow

こんな感じになった、
ボタンのハンドラは delegate ではなく this に届くようだ。
オーバーライドは types 指定不要なのね、ふむふむ。
これだけ解れば応用でなんとかなりそう。

ただ PyObjC と違って NSWindow がガベージコレクションされないんだが。
let 指定ならばハンドラを抜けたら破棄されるはずなんだけど、何故だ?
Python とは破棄対象の選定方法が違うんだろう、知らんけど。

ところで Monterey で今頃気がついたんだけど。

power

iOS みたいに充電の保留機能が付いたんだね。
筆者は滅多に持ち歩かないんで意味はないかもだがけど。

ibus Mozc

ごめん、GNOME 41 でブランクスクリーンを「しない」の選択肢あった。
ポップアップをスクロールで Never が出てくる、わかり辛いよ!

それと今回初めてやってみたんだけど。
ssh の設定って $HOME/.ssh 以下をコピペで引き継ぐことできるのね。
公開鍵ってこんなものなのか、もっと面倒だと思っていた。

しかし前回の続きを書こうと思ったけど、別に無いな。
だってほとんど変わっていないんだもの、中身は変わっているはずだけど。

それから、Mozc はやっぱり筆者的にはダメだ。
変換精度は macOS 標準入力メソッドには及ばないなりにイイんだけど。
US 配列でテンキーレスの Real Force では肝心の使い勝手が。

kkc setting

この切り替え時の入力モードを固定する機能がないと本当に困る。
macOS でも US 配列は入力メソッドを切り替えして使うんですよ、直接入力いらない。
Mozc だと切り替えで直接入力になっていたりするし設定が見つからない。

それとサジェストのウザさが Visual Studio Code のイライラを思い出す。
あれでアプリを作っている人おらんだろって思うんだけど、人気なんだよな…
macOS の入力メソッドではあまり気にならないのはトータルデザインの差だろうか。

それと設定ダイアログがおもいっきり GTK2 だし Windows 臭いし。
統一された操作性や見た目というものがさ、Qt アプリも気に入らない。
関係ないけど Windows Explorer が F11 でフルスクリーンになると先日知った。

JIS 配列キーボードしか知らず Windows 文化が絶対な人用って感じ。
コレを勧めている人はみんな VLC Media Player を入れてフルスクリーンを Alt+Enter に変更している Windows 信者だと思う。
筆者は ibus-kkc と celluloid にします。

それにしても、Linux を便利とか言っている人達。
ssh や python を使わない人はいったい何が便利なんだろう?
上記のように画像に線を引くの一つにもアプリを入れなきゃいけないのに。

ちなみに Drawing っていうシンプルなアプリを使った、コレでいいや。
macOS なら Preview.app で普通に線や文字が入れられるんですけど。
ちなみに macOS は動画の切り貼りさえ QuickTime 一つで可能。

ということで、今日の五条川。

kogamo

コガモ発見、冬鳥が続々とやってきていますね。
五条川を一発変換してくれる kkc なのに何故不人気なのか。

Fedora 35 Install

インストール方法は今までと変わらないので省略。
サードパティリポジトリを有効にするかの指定が増えたくらい。

hostname が localhost-live になっている。
hostnamectl でとっとと変更しよう。

gnome-softwere を起動しても何も表示されないんですけど。
アップデートしたら表示されるようになった。

アプリ検索で google-chrome は出てくるようになった。
でも Celluroid Celluloid は出てこない、使えないなぁ。

アップデートに動画 Codecs があるけど。
相変わらず何も再生できないね、RPM Fusion 必須。
てか何で肝心な libav が最初には入っていないんだよ!

その RMP Fusion リポジトリ追加を Firefox が拒絶する。
無視して OK し続ければ追加できた、いやコレどうなんだ?
こんなセキュリティは SELinux の仕事だろ、って思うんだけど。
Linux はもっと自由でないと、いや狐は Linux 専用じゃないし。

入力メソッドは今回も ibus Anthy だ。
PageDown でページめくりできないままなのね。
ずっと ibus-kkc に変更して使ってきたけど今回は Mozc とやらを。
macOS でも勧めている人いるし、食わず嫌いもあれだし。

と思ったけど US 配列のキーボードだとチト使いづらいなコレ。
入力モードひらがな固定ってできないの?全角半角キー無いんだけど。

ブランクスクリーンで「しない」の選択肢が無くなった、何故?

Gedit プラグインで v3 用プラグインがまだそのまま使える。

Fedora Tips

うん変わっていない、てか変わった気がしない。
続きは明日、夜勤行かなきゃ。