61 votes

Comment obtenir une barre de défilement statique plus grande (c'est-à-dire une barre de défilement normale) ?

Je suis content que les barres de défilement extérieures aient enfin disparu.

Mais la barre de défilement est toujours une ligne très fine qui devient une barre de défilement moins fine, mais toujours aussi fine, lorsque la souris la survole.

Comment puis-je obtenir un normal barre de défilement ? C'est-à-dire, comme dans les autres OS, comme dans Firefox, une barre de défilement qui ne change pas en fonction de ce que la souris pointe, et avec une bonne largeur.

J'ai déjà essayé

gsettings set com.canonical.desktop.interface scrollbar-mode normal

mais pas de chance.

30voto

pauljohn32 Points 3457

Je pense que vous devriez être prudent là-bas. Nous sommes nombreux à NE PAS vous recommander de modifier les paramètres par défaut d'un thème, à moins que vous n'ayez vraiment l'intention d'interférer avec l'activité de tous les comptes utilisateurs du système. Si vous commettez une erreur en faisant cela, cela affecte tous les comptes utilisateurs. Un autre point d'attention est que lorsque les paquets sont mis à jour, vos modifications seront effacées.

Un autre défaut de cette stratégie est qu'elle ne modifie le comportement que d'un seul thème GTK, mais vous pourriez vouloir modifier la taille de la barre de défilement dans TOUS les thèmes GTK-3.0.

Au lieu de cela, modifiez les fichiers de configuration à l'intérieur d'un compte utilisateur. L'astuce consiste à déterminer lequel est le plus court chemin vers le point d'arrivée souhaité. Le fichier GTK que vous modifiez fait partie d'une configuration CSS (feuilles de style en cascade), de sorte que la personnalisation que vous mettez dans votre compte modifiera les paramètres.

Dans votre compte utilisateur, dans le dossier ~/.config/gtk-3.0/gtk.css, j'ai actuellement ceci dans un fichier appelé "gtk.css".

.scrollbar {
  -GtkScrollbar-has-backward-stepper: true;
  -GtkScrollbar-has-forward-stepper: true;
  -GtkRange-slider-width: 20;
  -GtkRange-stepper-size: 20;
}

Si vous jouez un peu avec cela, vous verrez qu'il est possible d'intégrer de nombreuses modifications spécifiques du fichier de thème que vous avez édité ci-dessus. À une certaine époque, j'ai essayé de modifier de nombreux paramètres, mais je suis maintenant en mode "simplicité".

Si vous voulez vraiment modifier beaucoup de paramètres, la bonne chose à faire est de COPIER tout le fichier gtk-widgets.css et de le mettre dans votre dossier ~/.config/gtk-3.0. Ensuite, allez en ville et modifiez les paramètres.

Dans le même dossier, j'ai un fichier nommé "settings.ini".

[Settings]
gtk-primary-button-warps-slider = false

Cela empêche un clic dans la barre de défilement de se déplacer jusqu'à un certain point dans le fichier, au lieu de quoi il avance d'un seul écran. Je préfère cela !

L'autre chose à savoir est que la modification de ce fichier de thème (soit comme précédemment recommandé par @Dorian, soit par un changement de compte utilisateur pour tous les thèmes basés sur GTK-3.0 comme je le suggère) ne modifie que les programmes basés sur la boîte à outils GTK-3.0. Il ne change pas la barre de défilement pour toutes les applications. Elle ne l'est que pour celles qui lisent ce fichier de configuration gtk-3.0. Puisque vous modifiez un thème gtk-3.0, les applications écrites avec QT ou gtk-2.0 ne changeront pas. Par conséquent, changer la taille de la barre de défilement de tous les programmes est plus difficile/difficile que vous ne le pensez.

J'ai également modifié la largeur de la barre de défilement dans gtk-2.0. Ceci est fait dans un dossier séparé ~/.config/gtk-2.0. Le fichier à créer est nommé gtkrc

style "scroll"
{
 GtkScrollbar::slider-width = 20
}

Notez que gtk-2.0 est une installation conçue différemment, la syntaxe est donc différente, vous ne pouvez pas simplement copier la css de gtk-3.0 dans le dossier de gtk-2.0.

J'ai remarqué que certaines applications se comportent mal lorsque l'on modifie la barre de défilement car la taille du "grabber" à l'intérieur de la barre de défilement n'est pas redimensionnée correctement. Je pense que les modifications apportées à la barre de défilement dans le fichier de @Dorian pourraient résoudre ce problème. Je vais peut-être revenir et essayer cela. Je vous tiendrai au courant.

Résumé : Le conseil clé pour les administrateurs système Linux est le suivant : "Ne modifiez pas les fichiers de configuration sur l'ensemble du système. Vous mettez votre système en danger, vos modifications ne seront pas valables pour toutes les révisions, et cela nécessite un accès root, ce qui n'est jamais bon pour des choses cosmétiques comme celle-ci. Trouvez un moyen d'effectuer des modifications dans votre compte utilisateur.

PS. Si vous voulez vraiment tripoter les fichiers système (je le fais parfois si je veux vraiment insister pour que tous les utilisateurs aient les couleurs de mon équipe de football préférée comme fond d'écran et schéma de couleurs :) ), la première chose à faire est de faire une copie du fichier original et de nommer l'original "gtk-widgets.css.orig". Ensuite, lorsque vous modifiez votre fichier, enregistrez une copie de votre modification sous le nom de "gtk-widgets.css.20160919", avec la date AAAAMMJJ à la fin. De cette façon, lorsque le paquet deb sera mis à jour, vous aurez une copie de votre fichier édité. Celui que vous avez édité, nommé gtk-widgets.css, sera effacé par l'installation du paquet.

23voto

Delorean Points 10073

Modifier ce fichier /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css

Cherchez cette ligne (autour de la ligne 1200) : -GtkRange-slider-width : 10 ;

Et changez 10 par un chiffre plus grand comme 20 ou 30, et voilà :)

Je pense aussi qu'ils sont trop petits...

Voir cette image :

enter image description here

Si vous changez la taille de la barre de défilement à 16 et que vous voulez qu'elle reste ainsi, et ne rétrécisse pas lorsque vous n'avez pas la souris dessus, alors faites les changements dans l'image ci-dessus.

Si vous utilisez une taille autre que 16, il suffit d'expérimenter avec les tailles de marge pour y parvenir.

20voto

Vladimir Panteleev Points 1019

Changer -GtkRange-slider-width n'a aucun effet sur le thème GTK+3 par défaut. A la place, vous pouvez faire ceci :

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

    /* Padding around the slider */
    border: 5px solid transparent;
}

(Placez ce qui précède dans ~/.config/gtk-3.0/gtk.css .)

12voto

whtyger Points 5510

Voici les étapes pour restaurer les barres de défilement qui ne disparaissent pas et ont une largeur permanente, c'est-à-dire les barres "classiques". Testé dans la session GNOME Flashback sous Ubuntu 16.04 (fonctionne aussi sous Unity).

Étape 1. Faites une sauvegarde de /etc/environment . Exécuter sudo nano /etc/environment et ajoutez-y la ligne suivante :

GTK_OVERLAY_SCROLLING=0

Cela empêchera le comportement d'auto-masquage de la barre de défilement.

Étape 2. Afin d'éviter d'altérer le fichier du thème principal /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css nous allons emprunter du code de là, le modifier et le mettre dans le dossier du profil de l'utilisateur. Créer ~/.config/gtk-3.0/gtk.css et y mettre les lignes suivantes :

/* 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;
}

Étape 3. Créer ~/.config/gtk-3.0/settings.ini et ajoutez-y les lignes suivantes :

[Settings]
gtk-primary-button-warps-slider = false

Cela rétablira le comportement de défilement page par page lorsque vous cliquez sur la barre de défilement de chaque côté du curseur. Si ce fichier existe déjà, il suffit d'ajouter la dernière ligne dans le fichier [Settings] section de celui-ci.

Étape 4. Désinstaller overlay-scrollbar y overlay-scrollbar-gtk2 les paquets - vous n'en aurez plus besoin.

P.S. Si vous utilisez des applications qui nécessitent des droits de super-utilisateur (par exemple Synaptic, Gedit, etc.), vous devez également placer ces droits dans le dossier de l'utilisateur. gtk.css y settings.ini dans le dossier de profil de la racine :

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/

P.P.S. Si vous trouvez que ces barres de défilement sont trop étroites pour vous, élargissez-les. Il suffit d'ajouter la ligne suivante à votre ~/.config/gtk-3.0/gtk.css :

.scrollbar {
  -GtkRange-slider-width: 15;
}

Augmentez la largeur comme vous le souhaitez (la valeur par défaut est de 10). Mise à jour de /root/.config/gtk-3.0/gtk.css également, si nécessaire.

7voto

PravinDodia Points 696

J'utilise Ubuntu 18.04 et c'est la seule solution qui a changé la barre de défilement pour TOUT, de Firefox à LibreOffice en passant par gnome-terminal. Les solutions ci-dessus ont bien fonctionné pour une ou deux applications mais pas pour tout.

Remarque : cela vous donne des barres de défilement VRAIMENT grandes, ce qui est bien pour les grands écrans car vous pouvez les voir du coin de l'œil sans avoir à regarder sur le côté de l'écran à chaque fois que vous voulez en attraper une. Si vous voulez des barres plus petites, remplacez tous les 70px par un nombre plus petit, comme 20px ou 30px, et modifiez-les en conséquence.

Mettez le texte suivant dans ~/.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;
}

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X