मैं एक बड़ा स्थिर स्क्रॉलबार (उर्फ सामान्य स्क्रॉलबार) कैसे प्राप्त करूं?


40

मुझे खुशी है कि बाहर का ओवरले स्क्रोलबार आखिरकार चला गया।

लेकिन स्क्रॉलबार अभी भी एक रेजर पतली रेखा है जो एक कम रेजर पतली स्क्रॉलबार बन जाती है, लेकिन माउस के हिलने पर फिर भी पतली स्क्रॉलबार।

मैं एक सामान्य स्क्रॉलबार कैसे प्राप्त कर सकता हूं ? यानी, अन्य OSes की तरह, Firefox में, एक स्क्रॉलबार जो माउस के बिंदुओं और एक अच्छी चौड़ाई के आधार पर नहीं बदलता है।

मैंने पहले ही कोशिश की

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

लेकिन कोई किस्मत नहीं।


2
यह अभी भी कैसे एक महत्वपूर्ण मुद्दा है और मानक प्रणाली सेटिंग्स का हिस्सा / तय नहीं करता है? lordy चार साल पहले मैं इस तरह से सामान पर काफी उबंटू गुस्से में और mintier चरागाहों के लिए चला गया ... lol
न्यूरॉनैट

@neuronet Amen, भाई
स्टीव कोहेन

जवाबों:


22

इस फ़ाइल को संपादित करें /usr/share/themes/Amurance/gtk-3.0/gtk-widg.ss

इस पंक्ति को देखें (लगभग 1200 पंक्ति में): -GtkRange-स्लाइडर-चौड़ाई: 10;

और 10 को 20 या 30 की तरह बड़ी संख्या में बदलें, और किया :)

मुझे भी लगता है कि वे बहुत छोटे हैं ...

इस छवि को देखें:

यहाँ छवि विवरण दर्ज करें

यदि आप स्क्रॉलबार के आकार को 16 में बदलते हैं और आप चाहते हैं कि वे इसी तरह रहें, और जब आप उस पर माउस नहीं रखते हैं तो सिकुड़ें नहीं, तो ऊपर चित्र में बदलाव करें।

यदि आप 16 के अलावा किसी अन्य आकार का उपयोग करते हैं, तो इसे ठीक करने के लिए मार्जिन आकारों के साथ प्रयोग करें।


1
मैंने इसे 16 पर सेट किया, और सभी हॉवर / ड्रैग सामान पर टिप्पणी की और अब स्क्रॉलबार अच्छे पुराने स्थिर हैं ... वे हालांकि कुछ सेकंड के बाद भी गायब हो रहे हैं। वहाँ कुछ एनीमेशन समारोह मैंने नहीं देखा है?
सिमोन

ठीक है, इसलिए नीचे जहां आपने पहला बदलाव किया था, आप इन्हें देखेंगे: और margin-left: 2px;साथ ही साथ । इन तीनों को 2px से 7px तक बदलें और आपके स्क्रॉलबार चौड़े रहेंगे। margin-rightmargin-top
डोरियन

मैंने अपने उत्तर में एक तस्वीर जोड़ दी कि यह स्पष्ट करने की कोशिश करें कि बड़े रहने के लिए आपको स्क्रॉलबार के लिए क्या बदलने की आवश्यकता है।
डोरियन

6
आपको बहुत - बहुत धन्यवाद! मेरे दादा वास्तव में बहुत छोटे स्क्रॉल बार के साथ संघर्ष कर रहे थे, लेकिन मैंने इसे 25px में बदल दिया और अब वह एक समर्थक की तरह स्क्रॉल कर रहा है!
एरी सीडोहल

1
नोट मैंने अपने को 24 में बदल दिया, और 7px अभी भी हाशिये पर सही रहने के लिए हाशिये के उपयोग के लिए सही आकार था। ध्यान दें कि आपके परिवर्तन प्रभावी होने के लिए अपने कार्यक्रम (जैसे, फ़ायरफ़ॉक्स) को पुनः आरंभ करना सुनिश्चित करें। अच्छा चीज़।
16

26

मुझे लगता है कि आपको वहां सतर्क रहना चाहिए। हम में से कई आपको किसी विषय के लिए सिस्टम-वाइड डिफॉल्ट्स को संपादित करने की अनुशंसा नहीं करेंगे, जब तक कि आप वास्तव में सिस्टम के सभी उपयोगकर्ता खातों की गतिविधि में हस्तक्षेप करने का इरादा न करें। यदि आप ऐसा करते समय कोई त्रुटि करते हैं, तो यह सभी उपयोगकर्ता खातों को प्रभावित करता है। सावधानी का एक और बिंदु यह है कि जब पैकेज अपडेट किए जाते हैं, तो आपके परिवर्तन मिटा दिए जाएंगे।

इस रणनीति की एक और कमी यह है कि यह केवल एक GTK थीम के व्यवहार को बदलता है, लेकिन आप सभी GTK-3.0 थीम में स्क्रॉलबार का आकार बदलना चाहते हैं।

इसके बजाय, उपयोगकर्ता खाते के अंदर कॉन्फ़िगरेशन फ़ाइलों को संपादित करें। चाल यह पता लगाने के लिए है कि वांछित समापन बिंदु में सबसे छोटी दूरी कौन सी है। आपके द्वारा संपादित जीटीके फ़ाइल एक सीएसएस (कैस्केडिंग स्टाइल शीट्स) सेटअप का हिस्सा है, इसलिए आपके द्वारा अपने खाते में डाला गया अनुकूलन सेटिंग्स को संशोधित करेगा।

आपके उपयोगकर्ता खाते में, फ़ोल्डर में ~ / .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 फ़ोल्डर में कॉपी नहीं कर सकते।

मैंने देखा है कि जब आप स्क्रॉलबार को अलग बनाते हैं तो कुछ एप्लिकेशन बुरी तरह से व्यवहार करते हैं क्योंकि स्लाइडर गर्त के अंदर "धरनेवाला" का आकार सही ढंग से आकार नहीं लेता है। मुझे शक है कि @ डोरियन फ़ाइल में स्क्रॉलबार-ड्रैगिंग परिवर्तन से मदद मिलेगी। मैं वापस आ सकता हूं और कोशिश करूंगा। मैं आपको बता दूँगा।

सारांश: कुंजी "पुराने समय के लिनक्स सिस्टम प्रशासक की सलाह है" सिस्टम-वाइड आधार पर कॉन्फ़िगर फ़ाइलों को संपादित नहीं करता है। आप अपने सिस्टम को जोखिम में डाल रहे हैं, आपके परिवर्तन संशोधन के दौरान नहीं होंगे, और इसके लिए रूट एक्सेस की आवश्यकता होती है, जो इस तरह कॉस्मेटिक चीजों के लिए अच्छा नहीं है। अपने उपयोगकर्ता खाते में परिवर्तन करने का तरीका खोजें।

पुनश्च। यदि आप वास्तव में सिस्टम फ़ाइलों के साथ फील करना चाहते हैं (कभी-कभी मैं ऐसा करता हूं अगर मैं वास्तव में सभी उपयोगकर्ताओं से आग्रह करना चाहता हूं कि मेरे पसंदीदा फुटबॉल टीम के रंग उनके वॉलपेपर और रंग योजना :) के रूप में हैं), तो आपको जो पहली चीज करनी चाहिए वह है मूल फ़ाइल और मूल नाम "gtk-widgets.css.orig"। फिर जब आप अपनी फ़ाइल को संपादित करते हैं, तो अपने संपादन की एक प्रतिलिपि "gtk-widgets.css.20160919" के रूप में सहेजें, जहां मेरे पास इसके अंत में YYYYMMDD तारीख है। इस तरह, जब डेब्यू पैकेज अपडेट होता है, तो आपके पास अपनी संपादित फ़ाइल की एक प्रति होगी। जिसे आप gtk-widgets.css नाम से संपादित करते हैं, पैकेज इंस्टॉलेशन द्वारा तिरस्कृत किया जाएगा।


"थीम फ़ाइल जिसे आप ऊपर संपादित कर रहे थे" क्या संदर्भित करता है? "ऊपर" का यहां कोई मतलब नहीं है।

9

यहां स्क्रॉलबार को पुनर्स्थापित करने के चरण दिए गए हैं जो गायब नहीं होते हैं और जिनकी स्थायी चौड़ाई होती है, अर्थात "क्लासिक" वाले। Ubuntu 16.04 में गनोम फ्लैशबैक सत्र में परीक्षण किया गया (एकता में भी काम करता है)।

चरण 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पैकेज - अब आपको उनकी आवश्यकता नहीं होगी।

पुनश्च यदि आप कुछ अनुप्रयोगों का उपयोग करते हैं, जिनमें सुपरसुअर राइट्स (यानी सिनैप्टिक, गेडिट आदि) की आवश्यकता होती है, तो आपको इन 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; …आपके द्वारा उल्लिखित अन्य सभी विकल्पों के बिना। लेकिन यह केवल एक वर्चुअल मशीन पर था। जब मैंने एक डेस्कटॉप पर ऐसा करने की कोशिश की, तो कुछ भी काम नहीं किया, हालांकि मैंने सभी चरणों की कोशिश की थी। वहाँ है, मैं फ़ायरफ़ॉक्स 52 में एक बग लगता है, क्योंकि आभासी मशीन पर, जहां जवाब में मदद मिली, स्क्रॉल बार ने हॉवर ईवेंट के लिए सही तरीके से प्रतिक्रिया की, और स्वचालित रूप से चौड़ी हो गई। डेस्कटॉप पर यह हॉवर को हैंडल नहीं करता है (जो वास्तव में कारण है, मुझे स्क्रॉलबार को चौड़ा करने की आवश्यकता क्यों है) और gtk.css को भी अनदेखा किया गया है
user907860

1
@ user907860 इसके विपरीत, ऊपर बताए गए सभी चरणों का उद्देश्य हॉवर ईवेंट को पूरी तरह से अनदेखा करना है । उन्हें स्थैतिक, स्थायी स्क्रॉलबार बनाने की आवश्यकता होती है जो कभी भी अपनी चौड़ाई नहीं बदलते हैं, क्योंकि यह प्री-यूनिटी युग में था।
सीटी

हाँ आप सही हैं। मेरा मतलब था कि चौड़ाई में वृद्धि, हॉवर कार्यक्षमता को छुए बिना
15:90 पर user907860

वैसे, क्या आपके पास कोई विचार नहीं है, क्यों यह एक डेस्कटॉप पर फ़ायरफ़ॉक्स 52 में काम नहीं करता है, जबकि यह एक वर्चुअल मशीन पर करता है? askubuntu.com/questions/892097/…
user907860

1
यह स्वीकृत उत्तर होना चाहिए। डॉन्कफ और थीम के साथ मैसेज करना बहुत अजीब परिणाम देता है - ओवरले नहीं, लेकिन सामान्य भी नहीं। यह उत्तर सामान्य स्क्रॉलबार देता है। इसे जीटीके स्तर पर किया जाना है। नोट: उबुनुतु जल्द ही क्यूटी पर जा रहा है।
डोमिनिक सेरिसानो

8

-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)


1
मुझे इसे कहाँ जोड़ना चाहिए?
kenn

@kenn~/.config/gtk-3.0/gtk.css
व्लादिमीर Panteleev

1
उबंटू 18.04 पर एक आकर्षण की तरह काम करता है। धन्यवाद!
स्टीव कोहेन

9 महीने बाद: यह उबंटू 18.04 के तहत एक आकर्षण की तरह काम करता है - EXCEPT कि यह GNUCash एप्लिकेशन से हटने को भ्रमित करता है। सूची देखें .gnucash.org/pipermail/gnucash-user/2019-Febdays/… । इन परिवर्तनों को करने से GNUCash में स्क्रॉलबार कार्यक्षमता नष्ट हो जाती है, लेकिन अन्य ऐप्स नहीं। आह।
स्टीव कोहेन

1
@SteveCohen, मैंने gnucash लिंक को देखा। आपने "~ / .config / gtk-3.0.gtk.css" लिखा था लेकिन यह होना चाहिए ~/.config/gtk-3.0/gtk.css। इसके अलावा, gnucash एक gtk2 अनुप्रयोग प्रतीत होता है , न कि gtk 3 अनुप्रयोग।
मोनिका के लिए न्याय

4

मैं उबंटू 18.04 का उपयोग कर रहा हूं और यह एकमात्र समाधान था, जिसने फ़ायरफ़ॉक्स से लिब्रे ऑफिस से लेकर गनोम-टर्मिनल तक, स्क्रॉल के लिए स्क्रॉलबार को बदल दिया। ऊपर दिए गए समाधान एक या दो अनुप्रयोगों के लिए ठीक काम करते हैं लेकिन सब कुछ के लिए नहीं।

नोट: यह आपको वास्तव में बड़े स्क्रॉलबार देता है जो बड़े मॉनिटर के लिए अच्छे हैं क्योंकि आप उन्हें अपनी आंख के कोने से बाहर देख सकते हैं बिना स्क्रीन के किनारे पर हर समय आप एक को पकड़ना चाहते हैं। यदि आप छोटे वाले चाहते हैं, तो सभी 70px की छोटी संख्या को 20px या 30px की तरह बदलें और तदनुसार ट्विक करें।

निम्नलिखित पाठ को इसमें डालें ~/.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;
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.