カテゴリー別アーカイブ: プログラミング系

プログラミング熱~再消~

 プログラミング熱~再燃~なんて記事を一か月前に上げましたが、見事に再消してしまいました。
とはいえMultiWallpaperの基本的な部分は大体できた感じなので、のんびり完成させたいと思います。

MW3_a3

 現状はこんな感じです。
今までの貼り付け位置は実際に変更しないと分かりづらかったと思うので、アイコンで分かりやすくしたつもりです。
またリストの操作についても、今までは左の方で変更してから追加や更新をする形にしていましたが、あまりナウっぽくないということで、左で変更したらリストの方もリアルタイムで変更するようにしてみました。
このまま完成すれば、今までよりもナウっぽく使いやすいソフトになっているはずです。
リボンもWindows 10でもまだ使われているようなので、しばらくは違和感なく使えると思います。

 とりあえずは完成を目指して頑張りたいですが、今までの機能を全部引き継ぐのは面倒なので、最初は現行のMultiWallpaperよりも機能が減っているかもしれません…
最終的な目標は、現行のMultiWallpaperの機能を引き継ぎつつ、Simple MultiWallpaper Changerとも統合することなので、いつになるか分かりませんが作っていきたいと思います。

プログラミング熱~再燃~

 Surface Pro 3を使って、高dpi非対応アプリの微妙さを実感してからプログラミング熱が再燃してきました。
メインマシンをMacにしてから特に不満もなく、いろいろ考えた結果、MultiWallpaperの新バージョンを作ろうかと思っています。

 とりあえずWPF使ってリボン使って今時な感じに…ということでこんな見た目になりそうです。
new_mw
4年前にも新MultiWallpaperを作成しようとしていましたが、結局やる気がなくなってなかったことになっていたので、また作り直しました。
Uからは、4年程度じゃ人間は変わらないということが分かりますが…
今度は完成させたいと思います。
思います…

2年ぶりにMultiWallpaperバージョンアップ(簡易説明)

 壁紙を変更すると別ユーザーの壁紙も変更されてしまう不具合を修正しました。
また、この問題に絡むのですが、今までMultiWallpaper.exeと同じフォルダに設定ファイル・キャッシュファイル・壁紙画像ファイル(以下設定ファイル等)を作成していたのを、Windowsの作法に則りAppDataフォルダに設定ファイル等を作成するようにしました。
バージョンアップするにあたり、もはや記憶がない部分も多くて動作に不安があったりしますが…
変更点はこれだけなので、不具合が発生していない場合はバージョンアップする必要はありません。

 設定ファイル絡みの動作がややこしくなるので、簡単に説明します。

  • 今まで使っていたMultiWallpeprをバージョンアップした場合
    設定ファイル等をMultiWallpaper.exeと同じフォルダに置いたままにするか、AppDataフォルダに移動するかのダイアログが出ます。
    ここで「移動しない」と完全に今まで通りに使用でき、「移動する」とAppDataフォルダに設定ファイル等が保存されるようになります。
    ただし「移動しない」場合、設定を保存せずに終了すると次回起動時にも同じダイアログが出ますのでご注意ください。
  • これからMultiWallpaperを新しく使い始める場合(MultiWallpaper.exeと同じフォルダに設定ファイルが存在しない場合)
    設定ファイルはAppDataフォルダに作成されます。
    MultiWallpaper.exeと同じフォルダに設定ファイル等を置きたい場合は、「C:¥Users¥(ユーザーアカウント名)¥AppData¥Roaming¥MultiWallpaper」以下にある設定ファイルをMultiWallpaper.exeと同じフォルダに移動してください。
  • MultiWallpaper.exeと同じフォルダにもAppDataフォルダにも設定ファイルが存在する場合
    通常はこのような状態になることはありませんが、この場合はMultiWallpaper.exeと同じフォルダにある設定ファイルが使用されます。
    というダイアログが毎回出ますので、使用しない方を削除することをおすすめします。

Simple MultiWallpaper Changerバージョンアップ

 今月初めにバージョンアップしたばかりですが、更にその前のバージョンから動作がおかしい箇所があったため、またバージョンアップしました。
追加途中の「同じ画像を同時に複数のモニタの壁紙にしない」という機能が悪さをしていたので、いっそ完成させてしまえということで機能追加してのバージョンアップとなりました。
ただし、更新履歴に「2画面で同じ画像が壁紙になりづらいように」とあるように、2画面のとき限定です。
1画面はあり得ないのでともかく、なぜ3画面以上は対応していないかというと、3画面以上の環境はほとんどないと思うためです…あと面倒。
最初に作ったときの記憶は無く、コメントも無くソースを見ながらこんな感じだったかなぁと更新作業をしていますので、また何か不具合がありましたがご連絡よろしくお願いします。

Simple MultiWallpaper Changerバージョンアップ

 要望があったため、使用した画像のパスを書き出せるようにしました。(ver.1.8)
思えば以前にも同様の要望をいただいており、そのときはそんなことするぐらいなら設定ファイルをJSON化するので、JSON化を待ってくださいと答えていました。
そのJSON化はいろいろ面倒だったので今に至るまで放置してしまっています。
それから数年経って頭が柔らかくなったのか?、パスの書き出し機能は非常に簡単に搭載できると思ったので、簡単に搭載してみました。
これによりJSON化は更に後回しになり、次のバージョンアップは「同じ画像を同時に複数のモニタの壁紙にしない」という機能を搭載するのが目標となります。
これも面倒なのでどうなることやら…

事象の後半における意欲低下とその対処法について

 プログラミングをしていて半分以上は完成したところで、後はどういうことをやれば良いのかがはっきりとしてやる気がなくなっています…
はっきりとした部分に、動作確認とか細かい修正とか説明とかがあるということもあるのでしょうが、
のんびりと進めていきますか…と思ってたらもうゴールデンウィークも残りわずかです…

久しぶりにプログラミング

 Simple MultiWallpper Changerにしょうもないバグがあったので修正しました。
フォルダパスを追加していないと例外が発生するというもので、いくら適当に作ってるとはいえ、これぐらいの対策はしていたと思ったんですが…
久しぶりにプログラミングしたので、もしかしたらバグが増えてるかもしれません…

ついにWindows 8でMultiWallpaperの存在意義が無くなった

 また、ディスプレーごとに壁紙を指定できるようになった。これまでは、すべてのディスプレーに同一の壁紙が表示されていたため、作業環境の区別が付きにくいし、3枚以上のディスプレーを使っていると、ウインドウがどこにあったのかを見失いやすかったのが改善される。
ディスプレーごとに個別の壁紙を指定できるだけでなく、ひとつの壁紙を複数ディスプレー全体にわたって配置する、「スパン」という配置方法も指定できる。

使い勝手がよくなったWindows 8のマルチディスプレー

 まあ今までできなかったのがおかしいのですが…
さようなら…

SpotlightでMigemoしたい

 Spotlight:Mac OS Xの高速デスクトップ検索機能
 Migemo:ローマ字のまま日本語をインクリメンタル検索
ということで、この便利な2つを組み合わせたら最強だと思うんですが…実現は難しく…

 一番良い実現方法は、Spotlightの検索時にMigemoを適用させることですが、まあ無理です。

 次は、Spotlight Importerを作成し、Spotlightデータベースにローマ字を登録する方法。
これはかなり行けるんじゃないかと試していましたが、1つのUTI(ファイルタイプ)には1つのSpotlight Importerしか割り当てられないことが分かり断念しました。
流石に他のSpotlight Importerを無効にしてまで欲しい機能ではないです。

 最後は、Spotlightコメントにローマ字を登録する方法。
Spotlightコメントの永続性には疑問があったり、全ファイルに登録するのが面倒だったり、ファイルが更新される度に登録する必要があったりという問題はあるものの、実現は可能そうです。

 ただローマ字を登録する方法はMigemoではなく、漢字(のよみがな)とひらがなとカタカナを、ローマ字にして登録するという方法になります。
そのため、漢字の読み仮名変換に失敗する可能性や、単語区切りに失敗してSpotlightで引っかからない可能性があります。
これを考えると、面倒で負荷がかかる割には微妙そうです…
便利そうでもアプリが存在しないのには理由があるということでしょうか…

MultiWallpaperバージョンアップ(1年8ヶ月ぶり38回目)

 久しぶりにMultiWallpaperをバージョンアップしました。
やはり研究が始まるとただの大学生だった時よりも遥かに忙しくて…という言い訳は置いておいて、今回のバージョンアップはタグ一覧をドラッグ&ドロップで並べ替えられるようにしただけです。
それだけの機能追加に時間がかかっていますが、大学院生になると大学生の時よりも更に忙しくて…という言い訳は置いておいて、今まではタグ一覧はリアルタイムで作製していたので、順番を保存できるようにいろいろ変更を加える必要があったためです。
これで使いやすさが上がったとは思いますが、久しぶりすぎるバージョンアップなので何かミスをしてそうで怖いです…

 Qtでクロスプラットフォームアプリ開発もXcodeでOS Xアプリ開発もiOSアプリ開発もAndroidアプリ開発もやってみたいけど時間がなさすぎてできません…
QtはQt 5待ち、iOSとAndroidは時間ができないと払う金が無駄になるので、とりあえずはOS Xアプリ開発だけでもと思っているのですが…