ALT+TAB:选中的应用程序突出显示的对比度几乎与背景(黑色上的深灰色)难以区分。

回到20.04的时候, 我们设法让Yaru设计师及时改善了ALT+TAB任务切换器中选定应用程序的对比度。

现在22.04已经发布,看起来这个问题又出现了...

ALT+TAB on Ubuntu 22.04 - can you tell which app is selected (without reading the caption)?

我承认我很幸运能在一个明亮的办公室工作,但目前的对比度(黑色背景上的深灰色)每次使用电脑时都让我眯起眼睛(而且我使用的是高质量的“生产力”显示器)。
希望有一种方法可以通过编辑一些.css文件来改善对比度。如果这太难了(真的吗?),我很乐意安装一个扩展程序,但不觉得需要像这里建议的那样替换整个用户界面。

6让我明确地+1这个问题/请求,希望能吸引到一个给出好答案的人。我怀疑很多Ubuntu用户都遇到了这个问题,而且我觉得奇怪的是它还没有被解决。 - Yuvalem
3个回答

我在gitlab.gnome.org上找到了以下问题6907

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6907

以下代码由Chris Heywood编写,将dark-gray更改为颜色white
(打开一个shell,你不需要是'root')
激活为white
# Create a theme which only modifies the app switcher CSS
mkdir -p ~/.themes/TempAppSwitcherContrastCludge/gnome-shell
echo ".switcher-list .item-box:selected { background: #f6f5f4; color: #241f31; }" > ~/.themes/TempAppSwitcherContrastCludge/gnome-shell/gnome-shell.css
# Enable user themes shell extension
gnome-extensions enable user-theme@gnome-shell-extensions.gcampax.github.com
# Select the theme
gsettings set org.gnome.shell.extensions.user-theme name TempAppSwitcherContrastCludge

停用:
# Clear theme setting
gsettings set org.gnome.shell.extensions.user-theme name ""
# Disable user themes extension
gnome-extensions disable user-theme@gnome-shell-extensions.gcampax.github.com
# Remove theme
rm -r ~/.themes/TempAppSwitcherContrastCludge

它在23.10进行了测试/激活,并且完美运行!我还测试了正确的停用功能。
Chris,如果你看到这条信息,非常感谢!

1你真是个牛人!这肯定会让很多用户开心的。注意在22.04版本中,你需要在最后一行使用dconf write /org/gnome/shell/extensions/user-theme/name "'TempAppSwitcherContrastCludge'"而不是gsettings(或者使用扩展的图形界面)。无论如何,你都需要安装"User Themes"扩展。 我还是不明白这么糟糕的初始用户体验怎么能通过质量保证... - undefined
如果有人喜欢比解决方案中提议的白色更加细致的东西,可以通过调整上面echo命令中的background:的十六进制值来进行变化。使用像Pinta这样的图片编辑器来获取适合您的十六进制值。我将我的设置为background: #5936B5;(一种深紫色)。您需要将user-theme切换到TempAppSwitcherContrastCludge,以便在不必注销的情况下尝试不同的值。 - undefined

我使用的是Ubuntu 23.04,基本上是原始版本,我在~/.themes/usr/share/themes中都找不到alt-tab-app-switcher这个标记。
我不确定发生了什么变化,但我找到了另一种方法。按照此页面(看起来并不困难,大约需要5-10分钟)的步骤:
  • 安装GNOME shell浏览器集成
  • 安装User-Themes扩展
  • ~/.themes下下载并安装Dracula主题
  • 运行命令sudo apt-get install gnome-tweaks
  • 注销/登录以查看新主题,我认为可能不是必要的
  • 从菜单/搜索/调整中打开gnome-tweaks
  • 进入外观,将“Shell”(可能显示为默认)更改为Dracula。
  • 现在这个主题已经生效,并且看起来与默认主题相似,相似到我看不出有什么变化。
  • 编辑~/.themes/Dracula*/gnome-shell/gnome-shell.css文件。
将该文件调整如下以将有问题的灰色框变为红色:
.switcher-list .item-box:selected {
    background-color: red; /*rgba(189, 147, 249, 0.5)*/
    color: #f8f8f2; }

[编辑] 哦,顺便说一下,在gnome-tweaks中要么来回切换主题,要么注销/登录以实现颜色变化。

感谢您建议使用不同的主题;我真正想要的是找到一种方法将其与Ubuntu的默认“Yaru”主题相结合。顺便说一下,Ubuntu 22.04默认主题中也没有其他答案中提到的alt-tab-app-switcher CSS类;因此那个答案不起作用(这就是为什么我还没有“接受”它)。 - sxc731
2没错,这并不是对你问题的直接回答。我发帖更多是为了像我这样急于解决这个问题的人们 - 当在谷歌搜索这个问题时,这个问题是最有希望的结果之一。我几乎不关心我的屏幕看起来如何,所以对我来说,Dracula和Yaru是等价的(除了一些相当酷炫的紫色注销按钮等)。但是,我非常困扰于看不到自己在做什么,而现在我的新粗体红色alt-tab突出框每次切换任务时都会让我微笑:)。现在,如果我能够恢复那些宽度与我的拇指一样宽的旧式滚动条就好了... - AskUbuntuUser13085924

你可以编辑Gnome Shell主题的CSS文件来改变alt+taB任务切换器的外观。CSS文件可以在/usr/share/gnome-shell/theme以及你的家目录中找到。
  1. 用文本编辑器打开文件:

    nano ~/.config/gtk-3.0/gtk.css
    
  2. 找到类似以下的行:

    .alt-tab-app-switcher {
        background-color: #333;
    }
    
    .alt-tab-app-switcher .selected {
        background-color: #555;
    }
    
    
  3. .alt-tab-app-switcher .selected 的背景颜色改为较浅的颜色。例如:

    .alt-tab-app-switcher .selected {
        background-color: #ccc;
    }
    
  4. 您可以使用任何 CSS 颜色代码来设置背景颜色。在进行更改后,保存文件并重新启动 Gnome Shell(Alt + F2)以使更改生效。

    注意:请记住这只是一个示例,您的 CSS 文件中的实际样式可能会有所不同。在进行任何更改之前,最好备份原始的 CSS 文件。

请注意,不同的Gnome Shell主题可能对alt+tab任务切换器有不同的样式,因此您可能需要相应地修改CSS样式。
祝您好运。

非常感谢您最终尝试了一下!虽然它看起来确实朝着正确的方向发展,但在我的22.04系统上,那些CSS文件和类似的东西很难找到:grep -R alt-tab-app-switcher /usr/share/gnome-shell/theme ~/.config/gtk-*没有返回任何结果... - sxc731
@sxc731 这需要一些调查。例如,我的机器上的Yaru CSS文件位于/usr/share/themes/Yaru/gtk-3.0/gtk.css;我还在我的主目录中创建了一个副本,命令如下:mkdir ~/.themes; mkdir ~/.themes/Yaru; mkdir ~/.themes/Yaru/gtk-3.0; touch ~/.themes/Yaru/gtk-3.0/gtk.css,尝试找到CSS文件并进行必要的编辑。 - Error404
2@AlwaysAvailable我/usr/share/themes/Yaru/gtk-3.0/gtk.css文件的内容如下: @import url("resource:///com/ubuntu/themes/Yaru/3.0/gtk.css"); 如果我在这行后添加以下内容: .alt-tab-app-switcher .selected { background-color: #ccc; } 然后没有任何变化。有什么想法为什么会这样? - DMT
@AlwaysAvailable 尝试执行以下命令:mkdir -p ~/.themes/Yaru/gtk-3.0 ; cat > ~/.themes/Yaru/gtk-3.0/gtk.css << EOF .alt-tab-app-switcher .selected { background-color: #1fe6d8; } EOF,然后按下ALT+F2/r。同样的操作也要在~/.config/gtk-3.0/gtk.css上进行。但是这两种方法都没有产生预期的改进效果。在/usr/share/themes/目录下使用grep -R alt-tab-app-switcher命令,并没有找到包含你提到的CSS类的文件。你能在"原始"的Ubuntu 22.04机器上成功实现吗?如果我们能解决这个问题,将会对很多人有所帮助! - sxc731
@sxc731 可能是你对GTK CSS文件的更改被优先级更高的不同样式规则覆盖了。为了调查这个问题,你可以使用一个网络检查工具(比如内置在Firefox或Chrome中的工具)来检查应用于ALT+TAB任务切换器的具体样式,并查看是否有任何冲突或优先级更高的样式规则覆盖了你的更改。 - Error404
@sxc731 另一个可能性是ALT+TAB任务切换器的主题或样式规则可能与主要的GTK CSS文件处理方式不同或分开处理。您可能需要寻找一个独立的CSS文件或专门针对ALT+TAB任务切换器或任务切换器弹出窗口的配置,并对其进行修改。 - Error404