問題タブ [motif]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
motif - Motif のドラッグ & ドロップ機能を無効にする
X/Motif でアプリケーションを開発しましたが、ツールキットが提供する標準のドラッグ & ドロップ機能に関連するパフォーマンスの問題があります。XmDRAG_NONE リソースを設定して、ユーザー インターフェイスのレベルでドラッグ アンド ドロップ プロトコルを無効にしました。
- dragInitiatorProtocolStyle: XmDRAG_NONE
- dragReceiverProtocolStyle: XmDRAG_NONE
これにより、ドラッグ アンド ドロップ HMI の標準機能が効果的に無効になりますが、この機能に関連するプロパティ/アトム (_MOTIF_DRAG_WINDOW 内) は、XmText (またはドラッグ アンド ドロップ機能を持つその他) などのウィジェットがアプリケーションによってインスタンス化されるたびに、ルート ウィンドウで作成され続けます。
ドラッグ & ドロップを強制的に完全に無効にする方法はありますか?
そうでない場合、ルート ウィンドウのドラッグ アンド ドロップ プロパティ/アトムを安全に削除する方法はありますか?
前もって感謝します。
c++ - Motifで色を使用する方法
私はCおよびLinuxでのGUIプログラミングに不慣れであり、それに苦労しています。かなり単純でわかりやすいように思えますが、グーグルで答えが見つかりません。ウィジェットに背景色を追加したい。XmNbackgroundは私が使いたいもののようですが、単純な色の青のように、XmNbackgroundの色をそれに設定するために「青」を取得するにはどうすればよいですか?
tk - DDD と Insight の Motif テーマをより快適なものに変更するにはどうすればよいですか?
Tk バージョン 8.5.3 がインストールされており、8.5 以降にテーマ エンジンのサポートが追加されています。それでも、テーマの使い方がわかりません。デフォルトの Motif は醜いだけです。
c++ - アプリケーション ウィンドウの 1 つを同じアプリケーションの他のウィンドウの上に表示するにはどうすればよいですか?
Motif ベースのメモ帳のようなレガシー アプリケーションがあります。
モードレスの「検索/置換」ダイアログ (Motif TopLevelShell) を常にアプリケーションの他のウィンドウの上に表示したいのですが、他のアプリケーションの上には表示したくありません。
これを行うための Motif 固有の設定は見当たりません。
KDE ではウィンドウ固有の動作を設定できますが、「検索/置換」ウィンドウをすべてのウィンドウの上に置くことしかできません。これは正しくありません。
アプリケーション ウィンドウの 1 つを同じアプリケーションの他のウィンドウの上に強制的に表示する正しい方法は何ですか? それはまったく可能ですか?Motifでそれを行う方法はありますか?KDE? X コールにドロップダウンする必要がありますか?
linux - OSF/Motif & Xt から GTK+ への移行
マルチソケット接続をセットアップするために、Xt (X Tools Intrinsic library) で書かれた XClient というクラスがあります。この XClient クラスは、OSF/Motif GUI が XClient を拡張するためのものでした (そのため、GUI はソケットで通信できます)。
移植性の理由から、Xt ライブラリを使用しない GTK+ 環境に移行しようとしています。GTK+ が Xt ライブラリ呼び出しを使用できるようにするラッパーを作成することはまだ可能ですか?
crash - XtDestroyWidget の呼び出し中に Motivation アプリケーションがクラッシュする
32 ビットの Motif Gui アプリケーションがあります。現在、アプリケーションを Solaris から Linux に移植しましたが、システムが頻繁にクラッシュしています。私たちの分析では、アプリケーションでフォームを閉じているときにこの問題が発生したことがわかりました。フォームが閉じられたら、フォームを削除し、関数 XtDestroyWidget() を呼び出してウィジェットを削除します。アプリケーションの浄化を実行したところ、フォームを閉じたときに Stack Array Bounds Read (SBR) が発生していることがわかりました。
XtDestroyWidget() を使用してオブジェクトを破棄するサンプル モチーフ プログラムをインターネットからダウンロードしました。このサンプルプログラムに対してもpurifyを実行したところ、同じSBRが見つかりました。
SBR: スタック配列の境界の読み取り (54 回): * これは、XtDispatchEvent [libXt.so.4] RemoveAllPMgr [libXm.so.3] XtCallCallbackList [libXt.so.4] XtPhase2Destroy [libXt.so.4] で発生しています。 _XtDoPhase2Destroy [libXt.so.4] XtDispatchEvent [libXt.so.4] XtAppMainLoop [libXt.so.4] main [popup.cc:49] _start [crt1.o] * 0xffbfe4f0 から 4 バイトを読み取ります。* フレーム ポインター 0xffbfe4d0 * アドレス 0xffbfe4f0 は、関数 XtCallCallbackList のスタック ポインターの 32 バイト上にあります。
この SBR は XtAppMainLoop() で発生しています。これらの事実から、この SBR は一般的なものであり、アプリケーションではなくモチーフに関連していると思います。
次の質問にいくつかの考えを追加していただけますか。1) XtDestroyWidget() を使用すると SBR が発生する理由。このSBRは厳しいものですか?
2) XtDestroyWidget を削除し、XtUnrealizeWidget() を使用しました。これは、SBR を削除するのに役立つため、クラッシュは発生しません。また、通常のフォームはすべて正常に削除されます。しかし、このアプローチで私が直面している問題は、この方法では POP_UP フォームが削除されないことです。HIDE オプション以外の POP_UP フォームを削除するための回避策を提案してください。
誰かがこの問題に答えたり、考えを追加したりできれば、私にとって非常に役に立ちます。
前もって感謝します、サヌーシュ・チャコ
-----サンプル プログラムの追加.. こんにちは、SBR を入手した場所からサンプル プログラムを見つけてください。
X11/StringDefs.h を含める Xm/Xm.h を含める Xm/PushB.h を含める
ウィジェットのトップレベル。
void close_window(Widget w, XtPointer client_data, XtPointer event_data) { Widget popup = (ウィジェット)client_data; XtDestroyWidget(ポップアップ); }
void pop(Widget w, XtPointer client_data, XtPointer event_data) { Widget a, button, popup;
}
main(int argc, char *argv[]) { ウィジェット ボタン; XtAppContext アプリ。XmString ラベル。
}
c - Motifを使用して'97Cコードをコンパイルする方法は?
こんにちは私は1997年に書かれた約30のCソースをコンパイルしようとしています。XmAll.hやXlib.hなどの必要なヘッダーファイルと「ウィジェット」構文の使用に基づいて、これらのソースはMotifプログラミングツールキットに依存していることがわかりました、したがって、LinuxまたはUnixシステムでコンパイルする必要があるようです。
X WindowsプログラミングとMotifプログラミングの経験はありませんが、コンパイルする必要があります。私は実際にMacOSXまたはWindowsでそれらをコンパイルしようとしましたが、もちろんそれは機能しませんでした。
最初にLinuxを仮想OSとしてインストールし、それにOpen Motifをインストールしてコンパイルする必要がありますか?他に何か提案はありますか?
どうもありがとう!
キュ
unix - IRIS GL を Open GL に移植しますか?
こんにちは、私は IRIX、IRIS GL、および Motif の初心者です。
1997 年に書かれた 30 以上の C コードをコンパイルする必要があります。これらのソースには XmAll.h、Xlib.h などのヘッダー ファイルが必要なので、コンパイルするには Unix と Open Motif が必要だと思っていました。Mac OSX にゲスト OS として FreeBSD をインストールしたので、欠落しているヘッダー ファイルはほとんどすべて見つかりました。(「device.h」、「sphere.h」、「image,h」を除く)
しかし、「device.h」と宣言されていない多数の定数を使用した qdevice 関数の呼び出しが原因で、約 1000 を超えるエラーが発生します。「device.h」、qdevice 関数呼び出し、および宣言されていない定数は、聞いたことのない Irix オペレーティング システム用であることがわかりました。
要約すると、これらのソース ファイルは、1) X Windows 用の Motif プログラミング ツールキットに依存している 2) 3D グラフィックスに Iris GL を使用している 3) Irix オペレーティング システムで実行し、コンパイルする必要がある (結果が *.exe ファイルであるため不明)
それらをググったところ、Iris GL から Open GL に移植する方法があることがわかりました。
これらのソースを Iris GL から Open GL に正常に移植した場合、このプログラムを最近のバージョンの Mac OSX や Windows などの任意のプラットフォームで実行できますか?
私の Mac OSX または Windows でこれらのソースをコンパイルして実行するための提案はありますか?
どうもありがとう!
九
c++ - 古い学校の C スタンパー - 古代の XWindows/Motif アプリではほとんどのキーボード入力が無視される
何年も作業が行われておらず、最後に 32 ビットの Red Hat 4 で正常にビルドされた古い Xt/Motif アプリケーションのソース ビルドを復活させています。ほとんどの場合、64 ビットの Red Hat 5 でビルドして実行しています。アプリケーションの重大な問題が 1 つだけあります。想定されているほとんどのキーボード入力に応答しません。メニュー アクセラレータはどれも機能せず、特定の機能をサポートするはずのその他の変更されたキーと変更されていないキーの多くも機能しません。アプリが認識する唯一のキーストロークは、テキスト入力フィールドへの入力と、データの行/列を含むウィジェット間の矢印キー ナビゲーションです。
これは単純に悪いアプリケーション コードが原因かもしれないと思っていましたが、奇妙なことが起こりました....すべてのキーが機能し始めました! これを引き起こすために何をしたのかわかりません。デバッガーで実行してコードを調べていたところ、アプリがキーボード入力に応答し始めました。この時点で、デバッガーなしで実行してみましたが、キーはまだ機能していました。次に、問題が発生した古いビルドを実行してみましたが、そのビルドも同様に機能しました。
これらの同じ実行可能ファイルを別の Centos 5 マシンにコピーしましたが、それでもキーが機能しませんでした。2 つの環境をかなりの時間調べましたが、2 つの環境の違いはわかりませんでした。次に、自分のマシン (アプリが魔法のように機能したマシン) を再起動しましたが、そのマシンでもキーが機能しなくなりました。キープレスが再び認識されるようにすることは考えられません。
したがって、明らかに、この問題は少なくともいくらか環境に関係しています。ここで何が起こっているのか、誰でも手がかりを提供できますか? アプリケーションが一時的に正しく動作するようになるために、私の環境で何が変更されましたか? ここで何が起こっているのかを知っている Xt/Motif の第一人者がそこにいることを願っています。
linux - アプリをウィンドウに埋め込む
FvwmButtons(fvwmウィンドウマネージャーのモジュール)には、アプリケーションのウィンドウをパネルに埋め込むSwallow関数があります。
私はMotifとXlibでこのようなことをしなければなりません。Xclockをアプリケーションに埋め込みたい。組み込みアプリのウィンドウIDを変更する必要があると思います。
どうやってやるの?