Wine で実行される Window プログラムのウィンドウはデフォルトでは前にありません。

Wine で実行される Window プログラムのウィンドウはデフォルトでは前にありません。

私はしばしばターミナルでファイルを開くためにプログラムを実行しますが、プログラムウィンドウをクリックしてからプログラムを閉じて、プログラムを閉じずにプログラムでファイルをすばやく表示したいと思います。CtrlこれをF4行うには、プログラムウィンドウが前にある必要があります。つまり、基本的に焦点が合っています。

  • プログラムがデフォルトのLinuxプログラムの場合、デフォルトではプログラムウィンドウは常に前に、つまり焦点が合っているため、-を介してCtrlプログラムを閉じることができますF4

  • プログラムがWineで実行されているWindowsプログラムの場合、プログラムのウィンドウは前にありません。つまり、基本的に焦点が合っていません。一番前のプログラムはこれを実行する端末です。私はしばしばこれを忘れ、誤ってCtrlプログラムの代わりに端末を閉じますF4。ターミナルを閉じるとプログラムも閉じますが、効果は思ったより大きかったです。

私の質問は:Windowsプログラムがデフォルトで前に実行されるようにするにはどうすればよいですか?

メモ:

  1. WindowsプログラムでPDFファイルを開き、上記の内容をテストできます。PDFXCview.exeWine 2.0.1では、デフォルトのLinuxプログラムevinceを使用します。 Ubuntu 16.04で実行しています。

  2. Windowsプログラムを実行し、ターミナルのwineの下にあるファイルを開きます。

    wine /home/tim/path/to/PDFXCview.exe myfile.pdf
    

    そして、プログラムウィンドウはデフォルトでは前面にありません。

    奇妙なことは、ファイルを開かずにプログラムを実行すると

    wine /home/tim/path/to/PDFXCview.exe 
    

    デフォルトでは、プログラムウィンドウは前にあります。

  3. 関連性がある場合とない場合の1つは、以下を追加してLXDEのファイルマネージャPcManFMでPDFファイルを開くようにPDFXCview.exeを設定したことです~/.local/share/applications/mimeinfo.cache

    application/pdf=wine-extension-pdf.desktop;userapp-PDFXCview.exe-NHNW1Y.desktop;
    

    ファイルの内容は ~/.local/share/applications/userapp-PDFXCview.exe-NHNW1Y.desktop どこにありますか?

    [Desktop Entry]
    Type=Application
    Name=PDFXCview.exe
    Exec=wine /home/tim/path/to/PDFXCview.exe %U
    Categories=Other;
    NoDisplay=true
    MimeType=application/pdf
    Terminal=false
    

    デスクトップ環境でプログラムを実行するための設定であり、私の質問は端末でプログラムを実行することに関するものなので、関係がないかもしれません。

    PcManFMのワインでPDFXCview.exeを使用してPDFファイルを開くときにPcManFMでファイルをダブルクリックすると、PDFXCview.exeウィンドウが前面に表示されません。バラよりhttps://askubuntu.com/q/925540/1471

ありがとうございます。

ベストアンサー1

まず、前景ウィンドウとキーボードフォーカスがあるウィンドウは同じではありません。 MircosoftのWindowsや多くのウィンドウマネージャで動作しますが、必ずしもそうではありません。たとえば、KDEはこれら2つの属性を独立して管理できます。

今、あなたの質問については、上記のようにウィンドウマネージャによって異なります。 Kdeにはキーボードフォーカスを制御する設定があり、アプリケーションに依存する設定もあります(まだウィンドウマネージャの一部です)。ここに画像の説明を入力してください。上記の画像は、反対の操作を実行する方法を示しています(要求された操作を実行するには、フォーカス許可を「はい」に設定)。アプリケーションの構成をテストしました。


ウィンドウマネージャ、ランチャーなどの役割を混同しないでください。 KDE、Gnome、LXDEなどはすべてこれらの機能を実装できます。ウィンドウマネージャは、どのウィンドウがどこに移動するか、サイズ、最小化するか、どのウィンドウがどのウィンドウの背後にあるか、どのウィンドウにキーボードフォーカスがあるかを管理します。アプリケーションもこれを制御でき、他のアプリケーションも制御できますが、最終的にはウィンドウマネージャとして登録されたプロセスが責任を負います。これにより、他のプロセスがこれらのタスクを実行するのを防ぎ、ウィンドウがマッピングされた場所に最初にマッピングされたときにキーボードフォーカスを取得するかどうかを決定します。ウィンドウマネージャで唯一表示されるのは、他のすべてのウィンドウのタイトルバー(+閉じる、最大化、最小化などのアイコン)です。

おすすめ記事