问题标签 [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.

0 投票
1 回答
158 浏览

c - 如何隐藏主题对话框/小部件的标题栏

如何创建没有Title bar. 我想使用和不使用标题栏来创建motif对话框/小部件 ,以及如何全屏创建相同的对话框?XtVaCreateMangedWidgetXtVaCreateWidget

0 投票
1 回答
352 浏览

qt - 将主题 .uil 文件转换为 QT .ui 文件

有人知道将motif .uil 文件转换为QT .ui 文件的工具吗?或者一个脚本,比如将 .uil 转换为 xml,然后再转换为 .ui 文件。我有很多 .uil 文件,所以肯定不会手动执行。

谢谢!

0 投票
3 回答
5400 浏览

linux - 如果您忽略 X11 BadWindow 错误会发生什么?

我有一个 1990 年代早期编写的遗留 Motif 应用程序(我无法在 QT 中重写 UI,甚至无法在不经过耗时的安全评估的情况下广泛修改应用程序)。这个应用程序曾经在 AIX 上运行,它在密集使用的情况下连续运行了数周,并且非常稳定。我们现在已经将它移植到 Linux 上。在长时间的持续 Beta 测试期间,该应用程序大约每周崩溃一次,并显示以下消息。

失败请求的错误:BadWindow(无效的窗口参数)
失败请求的主要操作码:4(X_DestroyWindow)

从那以后,我了解到可以使用自定义 X11 错误处理程序(默认的 X11 错误处理程序仅打印错误消息并退出)忽略这些错误,如下所述:

http://motifdeveloper.com/tips/tip29.html

我已经实现了一个自定义 X11 错误处理程序,它忽略了该文章中描述的 BadWindow 错误。所以我的问题是:比我更了解 X11 开发和 X 服务器内部工作原理的人能否告诉我 BadWindow 错误是否真的可以像那样被忽略?

PS 我将尝试通过在同步模式下运行我们的应用程序来进一步调试它,但这很慢,因为我无法按需重现此错误。任何有关调试 BadWindow 错误的提示也将不胜感激。

0 投票
1 回答
2297 浏览

multithreading - Xlib:在回复类型 0x2 中丢失序列

我在维护的程序(我不是原始开发人员)中发生了此错误(Xlib:回复类型 0x2 中的序列丢失)。

我远不是 Xlib 编程方面的专家,我在标签中包含主题只是因为这个程序是使用那个工具包编写的。我在发布之前做了一些研究,发现这个错误可能是由于一个线程(不同于 UI 的线程)试图更新 UI 本身。在代码中搜索我发现了一些对 XTestFakeKeyEvent 和 XtIsManaged 的​​调用,我确信它们在与 UI 不同的线程中使用。

我的问题是:这两个函数会引发这个错误吗?

我认为只有更新 GUI 的功能(例如设置标签的文本)可能会导致此类问题(并且这两个功能似乎不会直接影响 gui),但老实说我不知道​​。 ...

0 投票
1 回答
331 浏览

qt - Xlib 是旧的?开发人员使用 xlib 框架吗?它于1985年开发

有人还在用吗?xlib 看起来这么老的框架?

用什么其他主要的类似软件来代替这个旧的 xlib?

用什么代替 xlib?

0 投票
1 回答
329 浏览

raspberry-pi - 无法让键盘输入或遍历为 Motif 应用程序工作

我有一个在 Raspberry Pi 上运行的 Motif 应用程序。出于调试目的,我在我的 PC 上使用 X Windows 服务器并通过 Putty 使用 SSH 隧道连接 X​​。还可能值得注意的是,当我最初运行应用程序时,输入会进入 SSH shell/Putty 窗口。单击应用程序窗口或其中一个按钮会停止输入到 Putty 窗口。

小部件层次结构是:

顶层shell->滚动窗口->Form->RowColumn

然后,行列小部件包含任意数量的按钮小部件。

我已经在顶级外壳上使用 KeyPressMask 注册了一个事件处理程序,当它不起作用时,在 RowColumn 和所有按钮上。它永远不会被调用。创建的第一个按钮获得焦点(如其边框所示),但只有当我用鼠标单击另一个按钮时才会改变(成功检测到单击事件)。

我曾尝试在顶级外壳上摆弄 XmNkeyboardFocusPolicy。我尝试为行列小部件和第一个按钮调用 XtSetKeyboardFocus()。在创建按钮时,我尝试将 XmNtraversalOn 指定为 True。没有任何效果。我非常沮丧。

我已经让按钮单击回调报告了它所调用的小部件的 XtIsSensitive() 的值(应该是按钮),它报告的值为 1(== 我认为是真的)。

我很高兴使用内置的 Motif 遍历例程,只要我还可以在按下返回键时模拟/检测按钮激活。我也很高兴通过显式检测按键来编写自己的遍历例程。我真的不在乎。我只想通过按键盘上的按钮轻松导航!

提前感谢任何可以帮助解决我的问题的人。

经过更多的实验后,我发现如果我通过将应用程序直接放入我的 .xinitrc 来运行我的应用程序,那么遍历工作正常,并且按下空格会使按钮像按下一样闪烁,但实际上不会导致按钮执行任何操作。

但是,如果我通过删除我的 xinitrc 文件并在控制台提示符下键入“startx”来运行标准窗口管理器,然后打开终端并从命令行运行我的应用程序,那么我会得到与在网络上运行它时相同的行为到我电脑上的窗口管理器。

我突然想到这可能是基于 TTY 的。通过 .xinitrc 运行时,应用程序在启动时没有 TTY(我相信),但是当直接从命令提示符启动时,它当然有 TTY。TTY 是否会以某种方式消耗所有键盘输入或其他内容?

0 投票
1 回答
208 浏览

c - 调用 XClearArea 后无法在 Xlib 中修改 GC

这是我的问题:

我使用XClearAreaWindow 背景像素图清除屏幕区域。这具有图形上下文的前景色为黑色。

在调用之后,XClearArea我尝试使用XDrawLineAPI 画一条线。在这里,我使用了一个前景为 RED 的 GC。

但是,我注意到调用XDrawLine绘制了一条黑线。换句话说,XClearArea不允许我将 Foreground 转换为 RED ,尽管我在调用XDrawLine.

任何人都可以说明为什么会发生这种情况以及如何解决这个问题。

任何帮助将不胜感激。谢谢。

编辑:让我添加一些代码来显示我的问题。我正在尝试在绘图区域上实现一条线,该线可以使用键盘上的箭头键移动。这是我想做的事情:

  • 画一条线。
  • 单击该行使其变为红色。
  • 使用箭头键将线条向左或向右移动。
  • 使用箭头键时,该行仍保持红色。

当使用箭头键时,我尝试使用XClearAreaAPI 清除上一行,

背景 PIXMAP 具有前景黑色。

现在一旦完成,尝试使用该XDrawLine函数画一条线:

在这里,我尝试使用可以将前景设置为 RED 的新 RED_GC。

但是,系统似乎仍以黑色为前景画一条线。

不幸的是,我必须使用 OpenMotif 窗口管理器来使用 Xlib。我不能使用 GTK/QT。

在此先感谢您的帮助。

0 投票
1 回答
402 浏览

c - 使用 XDrawString 垂直显示文本

我正在使用XDrawString在绘图区域上显示文本。默认情况下,这似乎从左到右水平显示文本。

谁能告诉我如何使用这个库函数从上到下或从下到上垂直旋转和显示文本。

提前感谢您的帮助。

0 投票
1 回答
70 浏览

c - 取消选择 Motif 箭头按钮

使用 Motif 工具包,我们可以使用 API“XmCreateArrowButton”创建箭头按钮。

现在,当单击箭头按钮时,该按钮被选中并保持选中状态。箭头按钮周围有一个黑色边框。

有没有一种方法可以在单击箭头按钮时,按钮被选中然后被取消选中。

这里的问题是,如果按钮始终处于选中状态,它不会响应其他键盘事件(例如按下 ENTER 键)。

在此先感谢您的帮助。

0 投票
1 回答
2524 浏览

opengl - OpenGL超级采样抗锯齿?

在办公室,我们正在使用旧的 GLX/Motif 软件,该软件使用 OpenGL 的 AccumulationBuffer 来实现用于保存图像的抗锯齿。我们的问题是 Apple 从其所有驱动程序中删除了 AccumulationBuffer(从 OS X 10.7.5 开始),并且一些 Linux 驱动程序(如 Intel HDxxxx)也不支持它。

然后我想更新软件的抗锯齿代码,使其与大多数实际的操作系统和 GPU 兼容,但保持生成的图像和以前一样漂亮(因为我们需要它们用于科学出版物)。

SuperSampling 似乎是最古老、质量最好的抗锯齿方法,但我找不到任何不使用 AccumulationBuffer 的 SSAA 示例。有没有不同的方法来使用 OpenGL/GLX 实现 SuperSampling ???