2023年11月の

鯖の煮噌味

Saba no Nisomi


2023.11.05(日)

▼macのスクリーンセーバをもっと良く知ろうと思う。その4

なんか気が向いたんで、まだヤってます。ちなみに冬の当落は今度の金曜日。まぁそれはさておき。

rinsukiさんがApp Extension 式 Screen Saverで紹介されてるswift版を、Objective-Cに書き換えたもので検証してるんですが...。いずれにしても設定のビューに難がありまして。

20231105_config_hello.pngApple純正 Hello.appex の設定シートの場合。
こんな感じでヤりたいところなんですが、何故だか"OK"ボタンのある領域が下に追加されちゃうんですよ。

20231105_config_ss.png自前の場合。
勝手に追加しないで欲しいなー。って、ナニかをナニすればイケるんでしょうねぇ。ナンだろう???

わかんないから、寝る。

2023.11.10(金)

▼日曜日 東地区 "T" ブロック 39b

App Extension式のスクリーンセーバって、macOS Mojaveでも動くんですね。その場合は設定のビューがそのまま表示されて即座に反映させるような状態だから、"OK" も "キャンセル" も無いわけだ。なるほど...。でもSonomaでの設定はシートで表示していて、Apple純正スクリーンセーバは "キャンセル" も出来るしなー。ナニか方法があるんだろーなー。非公開なだけあって、さっぱりわからんちん。悔しい。ぐぬぬ...。ひとまずそれはさておき。

この冬も、大晦日に有明へ行くことになりました。どーしよー。

2023.11.27(月)

▼中途半端が、またひとつ。

App Extension式のスクリーンセーバを、とりあえずサクっと作ってみようかとおもったんですわ。結論は断念。スクリーンセーバとしては動かせたんですが、問題は設定の『シート』ね。

従来のスクリーンセーバのシートを閉じるにはconfigureSheetの解説にあるようにendSheet:を使いました。でも設定は『ビュー』で用意するから、シートが不明なんですよね。試しにendSheet:self.view.windowを唱えても閉じないし。self.view.window.frameのサイズはself.view.frameと同じで、勝手に追加されたOKボタンの領域はどーなっちゃったよ?って感じ。self.view.windowに親/子のウインドウも無さそうだし、隠蔽されてる? おとなしく、勝手追加のOKボタンを利用するしかなさげ。まぁそれはイイんですが...。

『OKボタン』の他にも、Apple純正ならそんなこと無いのになー、とゆー制約がありまして。シートの横幅が470(かな?)までしか表示されないの。最初の表示は問題無いのよ。でも二度目以降、一旦シートを閉じてまた表示させるとシートの左側470までしか表示されない。なんだかなー。まぁこれもタブなんかで項目を分割させればイイんですが...。

そして致命的な点。テキストフィールドにキー入力出来ない!っての。キー入力のイベントは、勝手追加のOKボタンのreturn(enter)キー判定に奪われちゃうのよ。makeKeyWindowの呪文でフォーカスリングは描画されるものの、ダメ。becomeFirstResponderを唱えても、ダメ。いえね、ナニかの拍子に入力出来ることも極々稀にあったりするんでよ。でもどーすればイケるんだかサッパリわからんちん。わからんちん...。

てなわけで、App Extension式のスクリーンセーバは保留ってことで。機会があればまた調べ...。ぐぬぬ。



Top