スポンサーリンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 本題に戻った | トップページ | 動作し始めた »

コード整理とか

今は、Mirror-DTC for Ubuntu Ver1.4.1の開発中で、今回の開発では、Windows版に続いてトランスポーターを追加する予定なので、ここ数日は、その関連開発を行っていたのだが、追加したコード量が多いので、今日はコード整理なんかも行っていた。

トランスポーターを実現するにあたっては、Mirror-DTCサーバーの基本機能相当の処理が必要になる。

具体的には、Mirror-DTCクライアントとの通信機能が必要になるのだが、これについては、少し前に開発してある共有ライブラリである所のlibmcsrv.soを使う予定だ。

上記以外には、デスクトップ上に存在するウインドウを列挙する機能、列挙されたウインドウの中から、転送対象とするウインドウを選択し、そのウインドウをサーバーPC上では見えなくする機能なんかも必要だ。

更に、上記以外にも、色々な機能が必要なので、ここ数日で、処理コードを追加してきたのだが、トランスポーターを実現するためには、更に、もう少しのコード追加が必要になる。

具体的には、転送対象とされたウインドウを自らが作成する仮想画面に描画し、その画像をMirror-DTCクライアントからの要求に従って転送するコードが必要になる。

更に、Mirror-DTCクライアントからの要求に従って、上記の仮想画面に描画するウインドウの描画位置を変更するコードも必要になる。

と、言うことで、トランスポーターの実現の為には、まだ、若干の処理コードを追加する必要があるのだが、Windows版のトランスポーターでは、ウインドウの列挙だとか、転送対象ウインドウを見えなくするコードはWindowsが提供しているWin32APIを使って、比較的簡単に行えた。

なので、実は、Windows版のトランスポーター関連の処理コードの殆どは、メインダイアログを構築するC++クラス内に記述したのだが、Ubuntu版の場合、ここ数日行ってきた特殊なウインドウ関連の操作に関するコード量が半端では無くなったので、それらのコードは別クラスに移す事にした訳だ。

このため、今日は、主に、そういったコード整理の様な作業を行っていたので、まだ、トランスポーターとしての機能は実現できていないのだが、コードを整理してコーディングし安くなった事もあり、多分、明日には、基本機能は動作する様になっている筈だ。

ちなみに、Windows / macOS / Ubuntuの最新版では、全て、仮想デスクトップがサポートされているのだが、それらを有効活用している人は少ないかもしれない。

何故なら、過去に書いてきた様に、仮想デスクトップというのはWindows95の時代から、フリー/シェアウェアとして存在していたのだが、それからWindows10がリリースされるまでの長い期間、所謂、玩具としてネットの記事なんかで紹介されたり、そんな記事を見てダウンロードした人達が遊んだりした様な事はあっても、実用機能として継続的に利用される事は殆どなかったからだ。

もっとも、そんな感じになってしまったのは、仮想デスクトップの中には不安定なモノも多く、それらを使っていると作業中のソフトのウインドウが二度と表示できなくなったりする事もあったので、危なっかしくて、真面目な作業には使えなかった、という事情もあったかもしれない。

なので、マイクロソフトが正式サポートしたWindows10の仮想デスクトップ機能については、使っている人もいるかもしれないのだが、実のところ、作者的には、Windows10の仮想デスクトップ機能は殆ど使っていない。

これは何故なのか、というと、そもそも、Windows10は真面目な作業用には使っていないから、という事もあるのだが、macOSの仮想デスクトップと比べると、使い勝手が段違いに悪いから、という事もある。

で、今現在は、Ubuntu版ソフトの開発を行っているので、Ubuntu18.04LTS環境をメイン環境にしているのだが、この環境では、今現在は、仮想デスクトップは便利に使っている。

その理由は、Windows版トランスポーターのソースコードを参照したりしているので、Mirror-DTCクライアントの全画面表示用に一つの仮想デスクトップを割り当て、Ubuntu版を開発しているEclipseの全画面表示画面との切り替えを簡単化しているからだ。

つまり、作者的には、仮想デスクトップを使っているといっても、単に、全画面表示している2つのソフトの表示切り替え用に使っているだけなので、もし、仮想デスクトップが存在しなくても、ソフトの表示切り替えに別の方法を使えば、大して困りもしない訳だ。

しかし、macOSで動作させているMacBook Pro 15インチモデルについては、仮想デスクトップが使えないと、結構、不便になるかもしれない。

何故なら、このマシンでは、ParallelsでUbuntu16.04LTSを動作させ、作者のWebサイトなんかのメインテナンスやダウンロード状況の確認なんかを常時行いつつ、Netflixでスタートレックを見たりしているし、疲れてくると、チョクチョク、YouTubeの動画をみたりもする上に、iTunesで音楽を聴いている事も多い。

更に、作者のメインメーラーである所のThunderbirdはこのマシン上で動作していて、Paypal経由での支払いがあった場合には、遅滞なく、レジストキーの発行作業を行う必要もある訳だ。

つまり、そういった作業を行う時には、他のソフトが動作していて、それらのウインドウがゴチャゴチャしていると、作業に支障をきたすのだが、このマシンの場合、仮想デスクトップの切り替えはトラックパッドのスワイプだけで行えるので軽快だ。

と、言うことで、多分、仮想デスクトップが必要になるのは、一つのPCを、同時に複数の異なる目的で利用している場合、という事になるかもしれないのだが、巷の多くの人達は、マルチウインドウすらままならないスマホで十分、なんて事を言ったりする事も多いわけだ。

なので、そういった巷の多数派が仮想デスクトップを有効活用している、なんて事は想像しにくい訳なのだが、仮想デスクトップの問題点としては、別デスクトップで起動しているソフトの存在を忘れてしまう、というモノがあるかもしれない。

具体的には、あるテキストファイルを編集するために、何処かのデスクトップでテキストエディタを起動していたのを忘れて、別のデスクトップで同じテキストファイルを編集・保存した後、最初のテキストエディタを保存終了させてしまう、みたいな問題も出てくる訳だ。

もっとも、多分、そんな事になるのは、Windows10の仮想デスクトップだけかもしれない。

何故なら、macOSとUbuntuの仮想デスクトップでは、動作中のソフトは仮想デスクトップの位置に関係なく、タスクバーに表示され、それをクリックすれば、別の仮想デスクトップに存在していても、その仮想デスクトップに移動する様になっているからだ。

逆に言えば、Windows10の仮想デスクトップについては、タスクバーには、その仮想デスクトップで動作しているソフトしか表示されないので、前述の様な、様々な危険な行為を行ってしまう可能性がある訳だ。

と、言うことなので、作者的にも、Windows10では仮想デスクトップは使ってこなかったのだが、この記事を書くついでに調べてみた所、Windows10でも、設定を変更すれば、macOS / Ubuntuと同様の挙動に変更は可能な事が判った。

なので、これからは、そういう設定に変更して、使うことにするかもしれないのだが、トランスポーターを使えば、注目しておきたいウインドウは、別のデスクトップに移動しても、常時、Mirror-DTCクライアントの画面に表示しておけるので、トランスポーターというソフトは、仮想デスクトップを使う場合のデメリットの軽減にも役に立つ事になる筈だ。

« 本題に戻った | トップページ | 動作し始めた »

2019年8月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。

    ポリシーと規約 - Google