我很高兴外面的叠加滚动条终于消失了。
但是,滚动条仍然是剃须刀细线,当鼠标悬停时,它变得不那么剃须刀细线滚动条,但仍然是细线滚动条。
如何获得普通的滚动条?即,就像在其他操作系统中一样,例如在Firefox中,滚动条不会随鼠标指向的位置而改变,并且宽度很好。
我已经试过了
gsettings set com.canonical.desktop.interface scrollbar-mode normal
但没有运气。
我很高兴外面的叠加滚动条终于消失了。
但是,滚动条仍然是剃须刀细线,当鼠标悬停时,它变得不那么剃须刀细线滚动条,但仍然是细线滚动条。
如何获得普通的滚动条?即,就像在其他操作系统中一样,例如在Firefox中,滚动条不会随鼠标指向的位置而改变,并且宽度很好。
我已经试过了
gsettings set com.canonical.desktop.interface scrollbar-mode normal
但没有运气。
Answers:
编辑此文件/usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css
寻找这条线(1200行左右):- GtkRange-slider-width:10;
然后将10更改为更大的数字,例如20或30,然后完成:)
我也认为它们太小了...
看到这张图片:
如果将滚动条的大小更改为16,并且希望它们保持这种状态,并且在没有鼠标的情况下不要缩小,请在上图中进行更改。
如果您使用的尺寸不是16,请尝试使用边距尺寸以使其正确。
margin-left: 2px;
以及margin-right
和margin-top
。将所有这三个值从2px更改为7px,滚动条将保持较宽。
我认为您应该在那里保持谨慎。我们中的许多人不建议您编辑主题的系统范围默认值,除非您确实确实打算干扰系统中所有用户帐户的活动。如果您在执行此操作时碰巧出错,那么它将影响所有用户帐户。另一点警告是,更新软件包时,您的更改将被删除。
此策略的另一个缺点是,它仅更改了一个GTK主题的行为,但是您可能希望更改ALL GTK-3.0主题中的滚动条大小。
而是在用户帐户中编辑配置文件。诀窍是找出到期望端点的最短距离是哪一个。您编辑的GTK文件是CSS(级联样式表)设置的一部分,因此您在帐户中进行的自定义将修改设置。
在您的用户帐户中,在文件夹〜/ .config / gtk-3.0 / gtk.css中,我目前在名为“ gtk.css”的文件中拥有此文件
.scrollbar {
-GtkScrollbar-has-backward-stepper: true;
-GtkScrollbar-has-forward-stepper: true;
-GtkRange-slider-width: 20;
-GtkRange-stepper-size: 20;
}
如果您对此进行一些尝试,您会发现可以整合您在上面编辑的主题文件中的许多特定更改。一次我非常努力地摆弄许多设置,但是现在我处于“保持简单”模式。
如果您确实想编辑很多设置,则正确的做法是复制整个gtk-widgets.css文件并将其放在〜/ .config / gtk-3.0文件夹中。然后去摆弄设定的小镇。
在同一文件夹中,我有一个名为“ settings.ini”的文件。
[Settings]
gtk-primary-button-warps-slider = false
这样可以防止滚动条中的单击移动到文件中的某个点,而是仅前进一个屏幕。我喜欢那个!
另一件值得了解的事情是,更改主题文件(如我之前建议的@Dorian所建议的那样,或者针对我所建议的所有基于GTK-3.0的主题的用户帐户更改)仅更改基于GTK-3.0工具包的程序。它不会更改所有应用程序的滚动条。仅适用于读取该gtk-3.0配置文件的用户。由于您正在编辑gtk-3.0主题,因此使用QT或gtk-2.0编写的应用程序不会更改。因此,更改所有程序的滚动条大小比您预期的要困难/乏味。
我也更改了gtk-2.0中的滚动条宽度。这是在单独的文件夹〜/ .config / gtk-2.0中完成的。要创建的文件名为gtkrc
style "scroll"
{
GtkScrollbar::slider-width = 20
}
请注意,gtk-2.0是设计不同的设置,因此语法也不同,您不能仅将gtk-3.0 css复制到gtk-2.0文件夹中。
我注意到,当您使滚动条与众不同时,某些应用程序的行为会变差,因为滑块槽内“抓取器”的大小未正确调整大小。我怀疑@Dorian文件中拖动滚动条的更改将对此有所帮助。我可能会回来尝试。我会告诉你。
简介:关键的“旧的Linux系统管理员建议是”不要在系统范围内编辑配置文件。您正在使系统面临风险,所做的更改不会在各个修订版中持续存在,并且需要root用户访问权限,这对于像这样的修饰性东西永远不会有好处。寻找一种方法来更改您的用户帐户。
PS。如果您确实想弄乱系统文件(有时我确实要坚持让所有用户拥有我最喜欢的足球队颜色作为墙纸和配色方案,那么我可以这样做:)),您应该做的第一件事是复制原始文件,并将其命名为“ gtk-widgets.css.orig”。然后,当您编辑文件时,将您的编辑副本另存为“ gtk-widgets.css.20160919”,该文件的末尾有YYYYMMDD日期。这样,当更新deb软件包时,您将拥有已编辑文件的副本。软件包安装将删除您编辑的名为gtk-widgets.css的文件。
这是恢复滚动条的步骤,这些滚动条不会消失并且具有永久宽度,即“经典”宽度。在Ubuntu 16.04中的GNOME闪回会话中测试(也可在Unity中使用)。
步骤1.备份/etc/environment
。运行sudo nano /etc/environment
并在其中添加下一行:
GTK_OVERLAY_SCROLLING=0
这将防止滚动条的自动隐藏行为。
步骤2.为了避免篡改主主题文件,/usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css
我们将从那里借用一些代码,对其进行更改并将其放入用户配置文件文件夹中。创建~/.config/gtk-3.0/gtk.css
并在其中放入下一行:
/* Adding the buttons on the edges (if you don't need them, skip the next 4 lines)
*/
.scrollbar {
-GtkScrollbar-has-backward-stepper: 1;
-GtkScrollbar-has-forward-stepper: 1;
}
/* Scrollbar trough squeezes when cursor hovers over it. Disabling that
*/
.scrollbar.vertical:hover:dir(ltr),
.scrollbar.vertical.dragging:dir(ltr) {
margin-left: 0px;
}
.scrollbar.vertical:hover:dir(rtl),
.scrollbar.vertical.dragging:dir(rtl) {
margin-right: 0px;
}
.scrollbar.horizontal:hover,
.scrollbar.horizontal.dragging,
.scrollbar.horizontal.slider:hover,
.scrollbar.horizontal.slider.dragging {
margin-top: 0px;
}
/* Slider widens to fill the scrollbar when cursor hovers over it. Making it permanent
*/
.scrollbar.slider.vertical:dir(ltr):not(:hover):not(.dragging) {
margin-left: 0px;
}
.scrollbar.slider.vertical:dir(rtl):not(:hover):not(.dragging) {
margin-right: 0px;
}
.scrollbar.slider.horizontal:not(:hover):not(.dragging) {
margin-top: 0px;
}
步骤3.创建~/.config/gtk-3.0/settings.ini
并在其中添加下一行:
[Settings]
gtk-primary-button-warps-slider = false
当您单击滑块两侧的滚动条时,这将恢复逐页滚动行为。如果该文件已经存在,只需在文件的[Settings]
部分添加最后一行。
第4步。卸载overlay-scrollbar
和overlay-scrollbar-gtk2
打包-您将不再需要它们。
PS如果您使用某些需要超级用户权限的应用程序(例如Synaptic,Gedit等),则还应该将这些文件gtk.css
和settings.ini
文件放入根目录的配置文件文件夹中:
sudo cp ~/.config/gtk-3.0/gtk.css /root/.config/gtk-3.0/
sudo cp ~/.config/gtk-3.0/settings.ini /root/.config/gtk-3.0/
PPS如果发现这些滚动条对您来说太窄,请使其更宽。只需将下一行添加到您的~/.config/gtk-3.0/gtk.css
:
.scrollbar {
-GtkRange-slider-width: 15;
}
根据需要增加宽度(默认值为10)。/root/.config/gtk-3.0/gtk.css
如果需要,也进行更新。
.scrollbar {-GtkRange-slider-width: 15; …
,而没有您提到的所有其他选项。但这仅在虚拟机上。当我尝试在台式机上执行相同操作时,尽管我尝试了所有步骤,但没有任何效果。我想这是Firefox 52中的一个错误,因为在答案有帮助的虚拟机上,滚动条对悬停事件做出了正确的反应,并自动变大了。在桌面上,它无法处理悬停(这实际上是原因,为什么我需要加宽滚动条),并且gtk.css也将被忽略
更改-GtkRange-slider-width
不会影响默认的GTK + 3主题。相反,您可以这样做:
scrollbar slider {
/* Size of the slider */
min-width: 20px;
min-height: 20px;
border-radius: 22px;
/* Padding around the slider */
border: 5px solid transparent;
}
(将以上内容放在中~/.config/gtk-3.0/gtk.css
。)
~/.config/gtk-3.0/gtk.css
~/.config/gtk-3.0/gtk.css
。另外,gnucash似乎是gtk2应用程序,而不是gtk 3应用程序。
我正在使用Ubuntu 18.04,这是唯一更改了所有内容的滚动条的解决方案,从Firefox到LibreOffice到gnome-terminal。上面的解决方案对一个或两个应用程序都适用,但对所有应用程序都不能。
注意:这确实为您提供了非常大的滚动条,非常适合大型显示器,因为您可以在不希望每次都抓住屏幕的情况下从屏幕的角处看到它们,而又可以从屏幕的一角看到它们。如果您想要较小的像素,请将所有70像素更改为较小的数字(例如20像素或30像素),然后进行相应调整。
将以下文本放入~/.config/gtk-3.0/gtk.css
:
.scrollbar,
scrollbar {
-GtkScrollbar-has-backward-stepper: 1;
-GtkScrollbar-has-forward-stepper: 1;
}
scrollbar slider {
background-color: @scrollbar_track_color;
}
.scrollbar.vertical slider,
scrollbar.vertical slider {
min-height: 150px;
min-width: 70px;
}
.scrollbar.horizontal.slider,
scrollbar.horizontal slider {
min-width: 40px;
min-height: 10px;
}
.scrollbar.vertical.slider:hover,
scrollbar.vertical:hover slider {
min-width: 70px;
}
.scrollbar.horizontal.slider:hover,
scrollbar.horizontal:hover slider {
min-height: 10px;
}
.scrollbar.contents,
scrollbar contents {
background-color: transparent;
background-image: none;
background-size: 0;
border: none;
border-radius: 0;
}
.scrollbar.trough,
scrollbar trough {
background-image: none;
border: none;
}
.scrollbar:hover:backdrop,
.scrollbar.dragging:backdrop,
scrollbar:hover:backdrop,
scrollbar.dragging:backdrop {
background-color: alpha(@backdrop_selected_bg_color, 0.5);
}
.scrollbar.vertical:hover:dir(ltr),
.scrollbar.vertical:active:dir(ltr),
scrollbar.vertical:hover:dir(ltr),
scrollbar.vertical:active:dir(ltr) {
margin-left: 0px;
}
.scrollbar.vertical:hover:dir(rtl),
.scrollbar.vertical:active:dir(rtl),
scrollbar.vertical:hover:dir(rtl),
scrollbar.vertical:active:dir(rtl) {
margin-right: 0px;
}
.scrollbar.horizontal:hover,
.scrollbar.horizontal:active,
scrollbar.horizontal:hover,
scrollbar.horizontal:active {
margin-top: 0px;
}
.scrollbar.slider,
scrollbar slider {
background-color: alpha(@backdrop_filling_bg, 0.75);
border-radius: 10px;
}
.scrollbar.slider:hover,
.scrollbar.slider:active,
scrollbar slider:hover,
scrollbar slider:active {
border-radius: 20px;
margin: 0;
}
.scrollbar.vertical:dir(ltr):not(:hover):not(.dragging),
scrollbar.vertical:dir(ltr):not(:hover):not(.dragging) {
margin-left: 0px;
}
.scrollbar.vertical:dir(rtl):not(:hover):not(.dragging),
scrollbar.vertical:dir(rtl):not(:hover):not(.dragging) {
margin-right: 0px;
}
.scrollbar.horizontal:not(:hover):not(.dragging),
scrollbar.horizontal:not(:hover):not(.dragging) {
margin-top: 0px;
}
.scrollbar.slider:hover,
scrollbar slider:hover {
background-color: alpha(@backdrop_filling_bg, 0.6);
}
.scrollbar.slider:active,
scrollbar slider:active {
background-color: @backdrop_filling_bg;
}
.scrollbar.slider:backdrop,
scrollbar slider:backdrop {
background-color: alpha(@backdrop_filling_bg, 0.75);
}
.scrollbar.slider:hover:backdrop,
scrollbar slider:hover:backdrop {
background-color: alpha(@backdrop_filling_bg, 0.6;
}
.scrollbar.slider:active:backdrop,
scrollbar slider:active:backdrop {
background-color: @backdrop_filling_bg;
}
scrollbar {
min-width: 70px;
min-height: 70px;
}