如何让 Chrome 浏览器在 Ubuntu 21.04 下打开时“另存为”对话框成为焦点?

如何让 Chrome 浏览器在 Ubuntu 21.04 下打开时“另存为”对话框成为焦点?

我使用 Ubuntu 21.04,遇到了似乎很久以前解决... 在 14.04 版本下。但现在它又回来了。我使用 Chrome 94.0.4606.61(官方版本),当打开“另存为...”对话框时,我宁愿直接按 Enter 键来确认我的选择。相反,它没有焦点,所以我必须将光标移动到“保存”按钮并按下它,因为没有热键让我聚焦这个对话框。

如果有人能建议我如何在 Ubuntu 21.04 下修复它,我将不胜感激。

答案1

不幸的是是一个错误,可能与 一起xdg-desktop-portal。它会影响任何容器化格式的一些应用程序,不仅是 snap,还有 flatpak 和 appimage。鼠标用户不会很快发现它,但对于键盘导向用户来说,这是一个巨大的烦恼。Firefox 和 Thunderbird(容器化)也受到影响。

这个错误已经存在一段时间了,在即将推出的 Ubuntu 22.04 中仍未得到解决。但在当前的 Ubuntu LTS 20.04 中,它运行良好。

Xorg 用户可以使用devilspiedevilspie2来解决此错误(获得信用)这里)。devilspie2自动聚焦 xdg-desktop-portal 对话框的规则是:

if ( get_application_name() == 'xdg-desktop-portal-gnome' and get_window_type() == 'WINDOW_TYPE_DIALOG' )
then
    focus_window();
end

答案2

为了扩展@vanadium 的回答,以下是 Ubuntu 的所有步骤:

  1. 使用以下命令安装 devilspie2:sudo apt install devilspie2

  2. 将其添加到启动程序:

    • 在 Ubuntu 中打开“启动应用程序”
    • Add
    • 作为一个Name企业Devilspie2
    • 作为在启动时启动的Command输入devilspie2
    • 点击完成Add
  3. devilspie2创建要执行的脚本

    • vim ~/.config/devilspie2/devilspie2.lua

    • 粘贴以下脚本:

       if ( get_application_name() == 'xdg-desktop-portal-gnome' and get_window_type() == 'WINDOW_TYPE_DIALOG' )
       then
           focus_window();
       end
      
  4. 注销并重新登录即可devilspie2开始工作


适用于 Xorg,不适用于 Wayland,归功于原始答案在 ubuntuforums 上

答案3

alt这不是一个修复,而是一个解决方法:您可以通过按住+而不释放它来使其聚焦tab,然后使用alt+ shift+切换回来tab

至少在 Ubuntu 22.04.3 上

答案4

“...有人可以建议我如何在 Ubuntu 21.04 下修复它。”

如果这听起来微不足道,我深感抱歉,但我认为这是唯一的方法:

  1. 提交一个错误并等待有人修复它。
  2. 自己修复。
  3. 尝试更新 chrome。

笔记:在以下任一系统中,我都没有看到这种行为

  1. 系统 1:Ubuntu 20.04.3

    1.1. Chrome 版本 94.0.4606.54 (官方版本) (64 位)

    1.2. Chromium 版本 95.0.4638.69 (正式版) snap (64 位)

  2. 系统2:Lubuntu 20.04.3

    2.1. Chrome 版本 95.0.4638.69 (官方版本) (64 位)

我知道这个 Ubuntu 版本没有被引用,但它介于被引用的 18.04.6 Mate 和 21.04 之间......这很奇怪。

相关内容