【问题标题】:Missing pixels from upper left of window placed at origin位于原点的窗口左上角缺少像素
【发布时间】:2016-02-22 06:53:36
【问题描述】:

我有一个使用非装饰窗口的应用程序(没有标题栏等,它最终打算成为一个全屏应用程序)。它的外围还有一个像素宽的线条图像,与外界形成自然的边界。

当我运行这个应用程序并且窗口获得它的默认位置(即,not 在 (0,0) 原点)时,边框清晰可见。

但是,当我在主窗口的构造函数中执行this.Move(0, 0) 以确保窗口位置正确时,右上角的像素似乎因此消失了:

忽略该捕获中的Act 文本,它实际上是Gnome 桌面下的Activities 菜单。窗口的实际左上角像素是这两条红线相交的位置。

有谁知道是什么导致了这个问题?这可能与控制该区域的 Gnome Shell 扩展有关吗?

【问题讨论】:

    标签: gnome gnome-shell


    【解决方案1】:

    丢失的像素是 gnome-shell 为其窗口制作圆角矩形的方式的产物。

    如果你真的想改变它,你可以编辑文件/usr/share/gnome-shell/theme/gnome-shell.css。查找 CSS 选择器 .panel-corner 并将 -panel-corner-radius 设置为 0px。这将导致窗户有方角而不是圆角。您可能需要在按 Alt-F2 进行更改后重新启动 gnome-shell 并输入 r 命令。

    不确定该编辑是否会在gnome-shell(甚至是主题)更新后继续存在,您可能必须放置一些东西以使其保持在您想要的值(或安装一个扩展来为您做到这一点)。

    【讨论】:

      【解决方案2】:

      这就是 gnome-shell 渲染主显示器顶角的方式,它是一个圆角,只是在黑底黑字的情况下不太明显。更改此渲染不是应用程序应该做的事情。

      如果您的应用程序应该是全屏的,而不是仅仅位于角落,您可以使用Window.fullscreen() 请求 gnome-shell 来执行此操作。但不要依赖始终全屏:窗口管理器可以做出其他决定。

      【讨论】:

      • @paxdiablo 请不要在未经讨论的情况下大幅修改答案内容。如果您不同意部分答案,请写下您自己的答案或添加评论。我将恢复关于更改 shell 外观的部分:这不是普通应用程序开发人员应该(或可以)做的事情。
      • 没问题,jku,只是你原来的说法是不能做,这是错误的。所以我添加了可以完成的方式。由于您的答案不再包含该内容,因此我无法真正接受它,因为它不能解决我的问题。正如您所建议的,我将发布我自己的答案以及额外的信息。至于普通开发者是否这样做,我确实有一个非常具体的用例,所以希望你不会认为我不正常:-)
      • 干杯,听起来不错。很高兴您找到了解决方案。
      猜你喜欢
      • 1970-01-01
      • 2014-05-27
      • 1970-01-01
      • 1970-01-01
      • 2021-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-13
      相关资源
      最近更新 更多