web-dev-qa-db-fra.com

Comment supprimer les barres de défilement de recouvrement dans Ubuntu 17.10 et 18.04?

Depuis 17.10, les solutions fonctionnant dans les versions précédentes ne fonctionnent plus (par exemple, l'option N0rberts 2 ("Supprimer les éléments de superposition-barre de défilement") dans Gtk-Message: Impossible de charger le module "superposition-barre de défilement" Ubuntu 17.1 . ).

7
wdp

La raison pour laquelle les solutions fonctionnant dans les versions plus anciennes d’Ubuntu ne fonctionnent plus, ce sont les modifications de CSS que GTK + utilise pour le style et la mise en page.

Mettez ceci dans votre ~/.config/gtk-3.0/gtk.css (créez le fichier, si nécessaire):

/*************
 * scrollbar *
 *************/

.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: 15px;
    min-width: 10px;
}

.scrollbar.horizontal.slider,
scrollbar.horizontal slider {
    min-width: 15px;
    min-height: 10px;
}

.scrollbar.vertical.slider:hover,
scrollbar.vertical:hover slider {
    min-width: 10px;
}

.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;
}

Mettez la même chose dans /root/.config/gtk-3.0/gtk.css pour obtenir la même expérience de barre de défilement pour les applications racine telles que Synaptic.

Et cela empêche la barre de défilement de disparaître lorsque vous êtes inactif:

echo "GTK_OVERLAY_SCROLLING=0" >> /etc/environment

Pour que les modifications prennent effet, vous devrez peut-être redémarrer les applications, respectivement. déconnectez-vous et à nouveau.

Je ne suis cependant pas entièrement satisfait de cette solution car les barres de défilement ne sont pas aussi "professionnelles" qu'on pourrait s'y attendre et parce qu'elles ont une apparence différente dans différentes applications. Par exemple. les steppers semblent OK dans Firefox - les flèches haut et bas sont visibles. Dans Gnome Terminal et Nautilus, il n’ya que des rectangles arrondis sans flèches (ainsi que dans l’application que je développe).

D'autres applications sont livrées avec leurs "propres" barres de défilement - par exemple. Geany. Ils ne sont absolument pas affectés par ces paramètres et ont toujours l'apparence attendue d'une barre de défilement décente. Peut-être que quelqu'un peut comprendre comment les "voler" à Geany. Mise à jour: en 18.04 Geany ne vient plus avec ses propres barres de défilement, mais par exemple. FBReader et Gimp le font toujours.

Cependant, supprimer le curseur de déformation fonctionne toujours à l'ancienne:

echo "gtk-primary-button-warps-slider = false" >> /etc/gtk-3.0/settings.ini
3
wdp

J'ai créé ma propre barre de défilement pour le thème Ambiance sous Ubuntu 18.04, récupérant sur différents sites du Web (surtout du forum Linux Mint). Il n'y a pas de recouvrement. Vous devez mettre le code dans le fichier ~/.config/gtk-3.0/gtk.css éventuellement avec d’autres modifications. Déconnectez-vous et connectez-vous pour prendre effet. Utilisez-le si vous l'aimez:

    scrollbar slider {
    /* Size of the slider */
    min-width: 18px;
    min-height: 18px;
    border-radius: 15px;

    /* Padding around the slider */
    border: 1px solid #606307;
}

scrollbar trough {
    background-color: shade(@theme_bg_color, 0.5);
}

scrollbar button,
scrollbar button.vertical,
scrollbar button.horizontal,
scrollbar .button,
scrollbar .button.vertical,
scrollbar .button.horizontal {
    color: shade(@theme_bg_color, 0.10);
    background-color: shade(@theme_bg_color, 0.6);
}

scrollbar.vertical slider,
scrollbar.vertical .slider {
    background-image: radial-gradient(ellipse at center, #dba13f 0%, #7c4e00 100%);
}

scrollbar.horizontal slider,
scrollbar.horizontal .slider {
    background-image: radial-gradient(ellipse at center, #dba13f 0%, #7c4e00 100%);
0
Alessandro D'lncal

La solution possible est de changer le thème de Ambiance ou Radiance à Adwaita avec gnome-tweaks:

  1. Installez gnome-tweaks avec Sudo apt-get install gnome-tweaks
  2. Lancer gnome-tweaks
  3. Allez à l'onglet Apparence, dans Thèmes développez Applications et sélectionnez Adwaita ici.

Ou basculez sur port GTK3 du thème Clearlooks (installez-le avec Sudo apt-get install clearlooks-phenix-theme).

Je n'ai pas encore trouvé de solution basée sur css.

0
N0rbert