2019年9月
萌え時計(吹き出しデータ更新)
枠線を自前描画して、細くすると吹き出しに設定されている外枠が表示されてしまう場合がある、ということでTOYさんが吹き出しデータを更新してくれました。
そのデータを含んで、debファイルを作成しています。
これでだいたいやるだけやったかな。
みくんちゅ♪の吹き出しデータは…
位置変更すると確かに微妙すぎる。苦笑
みくんちゅ♪枠を使用する場合は運用で右下固定で御願いします。
萌え時計(微修正)
使ってると不満が出てくるのが、この手のツール。
自作ツールは、気に入らない場合にすぐに修正できるのがいいとろこ。
今回は、吹き出し表示位置の設定に関して。
今までは、右クリックメニューを選択するとダイアログを表示して画像の吹き出し位置変更か、デフォルトの吹き出し位置変更かを選んでいた。
でも、デフォルトの吹き出し位置変更なんて頻繁にやるものでもない。
なので、デフォルトの吹き出し位置変更は設定ダイアログに移して、右クリックメニューから選択して吹き出し表示位置を変更する場合は、画像に対して行うようにした。
ひと手間減るだけだけど、思ったより画像に対しての吹き出し位置設定が必要なので、こっちの方が便利。
ReleaseはTOYさんから吹き出し画像貰ってからまとめての予定。
※いちおうGithubにはpushしてあるけど。
萌え時計(個人的な興味で改造中)
萌え時計のCSS対応とか。
まあ、そちらはそちらで面白みがあるのですけれども。
「ウィンドウの枠を丸くしたいぞ。」
と思いました。
これ、LinuxのほとんどのWMで対応可能だったと思うんですが、なんかのRegion作ってウィンドウにマップするやつ。
X Eyeなんかがやってるからたぶん行ける。
…と思ったけど、けっこう手間取った。
で、行けたヤツ。
ウィンドウの縁を画像ではなくCairoで描画しつつ、同じ半径でウィンドウの角も丸めることができる。
ただ、これやるとXfceだとウィンドウの影がなくなった。orz
WMによってはうまいこと対応している可能性はあるけれども。
どうでもいいけど、GTK、Cairo関係はValadoc辺りが(言語違うけど)参考になる。
萌え時計を少し修正(機能追加)
萌え時計は、完成したのですが、完成度が上がると気になる部分も出てくるわけで。
枠が画像のため、縦横比が期待されているものと異なってしまう場合、角丸めとか、縦横の線幅が変わるとか、ちょっと気になる(ひとには気になる)動作になっていました。
CSSで対応可能かと思ったのですが、前エントリで書いた通り、完璧とは言い難い対応になっていました。
「なら自前で描画すればいいんじゃね?Cairoも使えるようになったことだし?」
ってことで思いつきで機能追加をしました。
設定ダイアログから自前描画と画像フレームの切り替えが可能です。
自前描画の場合は枠線の太さ、角丸めの半径の指定ができます。
枠線の太さは、おそらくそれほど太くすることはないかと思いますが、角丸めの半径はもう少し丸めたい、という要望が出るかも知れません。
で、こんな感じになります。
パッと見、違いは解らないかも知れません。
縦長の画像になると、かなり違うのですが。
想定通りの縦横比の画像の場合には、各種フレームの方が見栄えがいいので、お好みで使い分けてください。
透過するカレンダー(まだ続く)
引き続き透過するカレンダー。
設定ダイアログとか付けてた。
ついでにCSSの設定とか。
普通に設定するとこんな感じ。
透過率を設定画面から80%に設定。
ちょっとだけ背景が透けている感じで、これが期待した動作。
ツールチップも複数予定がある場合はちゃんと複数行で表示されるのでいい感じ。
#昨日まで1件目しか出てなかった。
さらにgcalcliからTSVで取得するようにしたので、書式化も出来て下部予定一覧も綺麗に表示されるようになった。
ついでに。
画面全体をCSSで表示制御出来るので、背景に画像を貼るとか出来る。
こんな感じ。
ただ、こうすると、もはやカレンダーの体をなさなくなるので、こんなことも出来ますよ、というサンプル。
サンプルCSSも含めてGithubに。
Readmeも書きました。
透過するカレンダー(引き続き)
結局、アリモノのコントロールでは満足出来なかったので、Gladeで画面を作成。
予定日のマークや、休日の色変え、土曜日の色設定などなど。
CSSで定義出来る部分を増やして、イベントのある日にはツールチップも表示可能。
添付のCSSで色とかイベントの背景色とかは設定可能です。
肝心のgcalcliとの連携部分が、まだソースコード埋め込みになっているので、この辺をダイアログで設定可能にすれば、汎用性は一気に上がると思われるけれども、個人使用では、この程度で十分満足出来る感じ。
これ以上は、この画面から予定の登録とかその辺の機能追加になるかなぁ。
やれないことはないけど、カレンダーから予定入力は、運用の面であまり用途がない。
iPhoneで予定登録してPC画面で忘れないように表示しときましょうか、ってのがこのアプリの目的なので、ここから予定入力となると、ちょっと機能過剰。
まあ、そういう運用をしたくなったら機能追加かな。
アプリ名も適当だしdebも作ってないし。
あくまで個人用な感じ。
要望があって、自分でも使う機能なら追加するかも。
ひとまずGithubに登録。
https://github.com/kaorin/gcalcal
やはり休日と土曜日、祝日の色を変えるのは必須と思った。
あとイベント日の背景色も変えるのも重要。
カラーはCSSで設定可能なので、弄るひとはご自由に。
透過するカレンダー(とりあえずここまで)
CSSとかで頑張らないとダメなんだけど、そのCSSの情報があまりない。
GTK+ Inspecterなんてのも使ってみたけど、そこまで詳細な情報は取得出来なかった。
GTKのバージョン依存?
イベントを設定した日(Marked)と週末/休日の色を変えたい。
曜日を表示しているCSSはなんとかわかったんだけども。
ん〜難しい。
ソース保存の意味も含めてGithubに登録。
Readme、まだなんにも書いてねぇ。
ウィンドウデコレーションのON/OFFと透過率を指定可能。
背景に指定画像を表示とかも不可能ではないけど、あんまり意味がないように思われる。
#昔、もえせっとあっぷでやったような…
萌え時計の吹き出しサイズ調整機能で吹き出しデータをSVGに変更
TOYさんから要望が上がっていたので、SVGでデータを作成していただき対応しました。
当初、けっこうな手間になるな、と思ったのですが、Cairoの機能をちゃんと調べてみれば、案外たいしたことのない手間で実装可能だったので、変更に踏み切ったものです。
ついでに、GTKの機能とCairoの機能を混同していて、うまく実装できていなかった部分も修正しています。
テンポラリファイルを使用していましたが、オンメモリで処理するように変更しました。
ぶっちゃけ自己満足以外のなにものでもないのですが、この辺の処理の見直しにより、コードの見通しがよくなったと思います。
けっこうやっつけ感が強かったからなぁ。
というわけで修正したものをリリースに入れてあります。
萌え時計-吹き出しサイズ変更機能追加
追加で要望が上がっていましたので。
昨悗は眠くて対応できなかったため、早起きして対応してました。
さて、ちゃんと動くのか?
ビットマップを拡大しているので、150%くらいに拡大すると、ちょっとボケた感じなるのですが〜
SVG+フォントサイズ調整となると面倒すぎる。苦笑
萌え時計の吹き出し位置変更機能追加(画像追随)その2
吹き出し表示位置変更ですが、画像ファイル名のプレフィックス追加とデフォルト位置設定が紛らわしいのでダイアログを表示するようにしました。
吹き出し位置を選択すると、以下の動作を行うダイアログが表示されます。
・画像に吹き出し位置を保存
・デフォルトの吹き出し位置を変更
デフォルトではチェックされていますが、チェックを外すと、指定動作は実行されません。
仕様としては暫定的なものですが、「やっぱりこの画像の場合は、吹き出しはこっちがいいや」ってなった時に画面から行える手段があった方がいいかな、と。
最終的にはTOYさんと相談になりますけれども。
萌え時計の吹き出し位置変更機能追加(画像追随)
TOYさんからリクエストが入っていたので、対応してみました。
こういうことでしょうか?
WindowsでExt4のマウント?
以前はExt2fsdとかでできたようなのですが、なぜかできなくなっている…
ちょっと調べたところでは、いろいろとext4の方も変わっているようで、対してExt2fsdは更新が止まっている…
その辺が理由かもしれません。バージョンに追随してないのだろうなぁ。
ということで、他に手がないものかと思案。
…仮想環境のLinuxに物理ドライブマウントさせれば行けるんじゃね?
で、物理ドライブを仮想環境にマップできるのか?というと。
できるようです。この辺参考にしました。
仮想環境にUbuntu18.04入れて、Ext4の物理ドライブをマップして、仮想環境にアサインして。
Ubuntuを起動すると…
普通にマウントできるじゃん。
まあ、これでいいか。
デュアルブート環境とはいえ、ほとんどデータを共有してないので、環境ごとにドライブが分かれていても特に問題はないのですが、たまーに、「ああ、あのソースはExt4の方に入ってるわー」ってことがあるので、参照したいことはあることはあります。
素直に起動しなおしてDropBoxなりで共有すればいいんですが。
まあ、いちおう手段の構築としてこういう手もあるなぁ、と。
※容量が大きいドライブのデータ移行とかなら、それなりに使える手段かもしれないし。
思い付きでやってみただけです。
実用性はどうなんだろうなぁ。
conkyにgcalcliのagendaを表示させる
単純に、gcalcli -conky agendaで行けると思ってたけど、どうもそれだけではダメのようで。
実行ファイルのパスを指定することで期待する表示が得られました。
ワタクシの環境では、pipでインストールしたので、以下のコマンド。
~/.local/bin/gcalcli -conky agenda
パスは通してるはずなんですが。
まあ、起動時にはパスが通ってない可能性もあり。
/etc/enviramentの方にパスを記載すれば、元の記述でも行けるのかも知れません。
まあ、とりあえずこれで解決したのでOK。
うぃんくみくをPython3に対応
これも萌え時計を作った頃にDAとして作成したもので、Python2.xで動作するものでした。
現状、Python2.xがあれば動作するのですが、この際なので、Python3+GObjectに移植しました。
萌え時計のソースがあるから簡単かなぁと思ったんですが、メインウィンドウの透過に思いの外苦労しまして。
最初のサイトは、ほぼマルパクな感じ。
2番目のサイトはPythonでGObjectを扱うなら広範に参考になりそうです。
#まあ、細かくは見てないけど。
元々、各種DA作成用の母体として学習用に作成したプログラムだったように思います。
Gladeの使い方とか、PythonのGUI作成方法とか。
内容はシンプルで、それほど難しくないものだと思っていたのですが。
まあ、こういうのはたいてい軽い気持ちで手を出すと、想像以上に面倒なことになるものですよねぇ。(笑)
いちおう、Githubで公開しています。
最近のコメント