You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu 20.04下永久移除显示应用程序侧边栏的方法咨询

Ubuntu 20.04下永久移除显示应用程序侧边栏的方法咨询

嗨,我来帮你解决这个困扰~你遇到的是Ubuntu 20.04(GNOME桌面环境)里的「活动概览」侧边栏触发问题,触摸屏从左边缘滑动就会呼出它,确实会干扰你的全屏PySide6 GUI应用体验对吧?下面给你几个实用的永久禁用/移除触发的方法:

方法一:用GNOME Tweaks图形化工具修改

  • 首先安装GNOME Tweaks:打开终端,输入以下命令执行
    sudo apt update && sudo apt install gnome-tweaks
    
  • 启动Tweaks工具后,找到「键盘和鼠标」(部分版本显示为「鼠标和触摸板」)选项卡
  • 在里面找到「边缘触发」或「活动概览边缘手势」相关设置,直接关闭左侧边缘滑动呼出活动概览的选项
  • 针对触摸屏,额外检查「触摸板」分类下的边缘滑动设置,确保所有关联呼出活动概览的手势都被禁用

方法二:用dconf-editor直接修改系统配置

  • 先安装dconf-editor工具:
    sudo apt install dconf-editor
    
  • 打开dconf-editor后,导航到路径 org/gnome/desktop/wm/keybindings
  • 找到panel-main-menu选项,将它的默认值修改为[](空数组),这样就能彻底禁用触发侧边栏的所有快捷键和手势
  • 另外还可以导航到org/gnome/desktop/interface,找到enable-hot-corners选项,将其设置为false,彻底关闭所有热角/边缘触发的活动概览功能

方法三:在PySide6应用内屏蔽系统手势

如果只想让你的全屏GUI应用不受影响,而不修改系统全局设置,可以在应用代码里添加逻辑,让窗口独占输入焦点,阻止系统手势触发:

from PySide6.QtWidgets import QMainWindow
from PySide6.QtCore import Qt

class FullScreenApp(QMainWindow):
    def __init__(self):
        super().__init__()
        self.showFullScreen()
        # 设置窗口始终置顶,优先获取输入
        self.setWindowFlags(self.windowFlags() | Qt.WindowStaysOnTopHint)
        # 针对X11环境(Ubuntu20.04默认),可以用Xlib进一步屏蔽系统手势
        # 需要先安装依赖:sudo apt install python3-xlib
        from Xlib.display import Display
        from Xlib import X
        display = Display()
        root = display.screen().root
        # 捕获所有指针事件,阻止系统手势触发
        root.grab_pointer(
            True,
            X.ButtonPressMask | X.ButtonReleaseMask | X.PointerMotionMask,
            X.GrabModeAsync,
            X.GrabModeAsync,
            0,
            0,
            X.CurrentTime
        )
        display.sync()

注意:如果你的系统用的是Wayland显示服务器(Ubuntu20.04默认是X11,一般不会有这个情况),Xlib的方法可能无效,需要用Wayland对应的窗口管理API。

备注:内容来源于stack exchange,提问作者shonb

火山引擎 最新活动