क्या सक्रिय को छोड़कर सभी विंडो को छोटा करने के लिए एक कीबोर्ड शॉर्टकट है?


21

जब GIMP जैसे प्रोग्राम खोलते हैं, तो मुझे बैकग्राउंड विंडो खुली विचलित करने वाली लगती हैं क्योंकि GIMP में तीन अलग-अलग विंडो हैं।

इसे कम से कम करने के लिए मैन्युअल रूप से हर दूसरे गैर-जिम्प विंडो पर जाना बोझ है। मुझे उबंटू में एक कीबोर्ड शॉर्टकट की आवश्यकता है जो विंडोज Super+ Homeशॉर्टकट से मेल खाता है । एक जो सक्रिय को छोड़कर सभी खिड़कियों को छोटा करता है।

क्या उबंटू में इस व्यवहार को प्राप्त करना संभव है?


दिलचस्प विचार! बिंदुओं के लिए यहां 1 उत्तर पर एक नज़र डालें: askubuntu.com/questions/13709/… यह पोस्ट सभी को कम करने के लिए एक फ़ंक्शन जोड़ने के बारे में है। इसे देखने से एक लाइन 'अधिकतम वर्तमान सक्रिय को अधिकतम करें' या इसे बदलकर 'चालू सक्रिय को छोड़कर कम से कम सक्रिय करें' के बाद यह चाल (?)
रिनजविंड

किसी भी मौका डेवलपर्स भविष्य में Ubuntu संस्करणों में कीबोर्ड शॉर्टकट मेनू में एक "सभी को कम से कम सक्रिय विंडो" विकल्प जोड़ देगा? इस तरह यह बाँध "तैयार और प्रतीक्षा" है जब उपयोगकर्ताओं को उबंटू स्थापित करने के लिए कॉन्फ़िगर किया जाना है?
चाड

जवाबों:


20

एक अजगर स्क्रिप्ट के साथ इसे हासिल करना संभव है। स्क्रिप्ट की आवश्यकता है python-wnckऔर python-gtkकाम करने के लिए स्थापित किया जाना चाहिए , हालांकि मुझे लगता है कि ये डिफ़ॉल्ट रूप से वैसे भी स्थापित हैं।

इसे एक टेक्स्ट एडिटर में कॉपी और पेस्ट करें और एक समझदार जगह पर सेव करें (जैसे कि आपके होम फोल्डर में मिनिममहाइड्रोमा । ):

#!/usr/bin/env python
import wnck
import gtk

screen = wnck.screen_get_default()

while gtk.events_pending():
    gtk.main_iteration()

windows = screen.get_windows()
active = screen.get_active_window()

for w in windows:
    if not w == active:
        w.minimize()

फिर आप कीबोर्ड शॉर्टकट खोलकर कीबोर्ड शॉर्टकट सेट कर सकते हैं।

डैश में कीबोर्ड शॉर्टकट

नया शॉर्टकट बनाने के लिए Add पर क्लिक करें ।

कीबोर्ड शॉर्टकट विंडो

कमांड का उपयोग करें bash -c 'python ~/minimise.py'(यह मान रहा है कि आपने इसे अपने होम फोल्डर में मिनिमाइजहोम के रूप में सहेजा है )।

शॉर्टकट बनाएं

फिर आप अपने पसंदीदा कीबोर्ड संयोजन को इस क्रिया के लिए असाइन कर सकते हैं।

स्क्रिप्ट सभी गैर-सक्रिय विंडो को कम कर देगी। मुझे नहीं लगता कि यह आपके उपयोग के मामले के लिए बहुत उपयोगी है क्योंकि आप सभी जिम्प खिड़कियां खोलना चाहते हैं। आप उन सभी विंडो को कम करने के लिए एक अलग स्क्रिप्ट का उपयोग कर सकते हैं जो वर्तमान एप्लिकेशन के बजाय इसके बजाय नहीं हैं:

#!/usr/bin/env python
import wnck
import gtk

screen = wnck.screen_get_default()

while gtk.events_pending():
    gtk.main_iteration()

windows = screen.get_windows()
active_app = screen.get_active_window().get_application()

for w in windows:
    if not w.get_application() == active_app:
        w.minimize()

4
+1! यही कारण है कि मैं लिनक्स से प्यार करता हूँ! अति उत्कृष्ट। @chad: अगर जिम्प की कई विंडो एक समस्या है, तो लगता है कि जिम्प का 1 विंडो के रूप में कार्य करना है। ओह: यह 2.6 से डिफ़ॉल्ट प्रतीत होता है (चित्र देखें; मैंने लंबे समय तक जिम्प का उपयोग नहीं किया है)।
रिनविंड

यही कारण है कि मैं पायथन से प्यार करता हूं - इसमें हर चीज के लिए एक मॉड्यूल है!
DV3500ea

1
मेरे सिस्टम पर 14.04 पर अजगर-वंक स्थापित किया जाना था। प्रश्न हालांकि, अजगर के खोल के अंदर यह gtk.main_loop भाग के बिना ठीक काम करता है, लेकिन स्क्रिप्ट के अंदर इसके बिना, यह doesn't। इसलिए मूल रूप से स्क्रिप्ट को एक .py फ़ाइल से काम करने योग्य बनाने के लिए, gtk.main_loop भाग एक होना चाहिए। कोई समझा सकता है क्यों?
सर्गी कोलोडियाज़नी

bash -c 'python... सिर्फ और सिर्फ क्यों python ...?
माइकल कैंपबेल

1

चूँकि पायथन-वेनक अब रिपॉजिटरी (कुबंटु 18.04 बायोनिक) में नहीं है, नीचे संशोधित पाइथन कोड (@ आदित्य और @ DV3500ea द्वारा उपरोक्त उत्तर से) है।

Python3 के बाद से wnck GObject Introspection API ( स्रोत ) का हिस्सा है । तो, wnck (और Gtk ऑब्जेक्ट) आयात करने के लिए सिंटैक्स बदल गया है।

#!/usr/bin/env python

# import necessary objects
import gi
gi.require_version('Wnck', '3.0') # specify Wnck version
from gi.repository import Wnck

from gi.repository import Gtk


# the script itself
screen = Wnck.Screen.get_default()

while Gtk.events_pending():
    Gtk.main_iteration()

windows = screen.get_windows()
active = screen.get_active_window()

for w in windows:
    if not w == active:
        w.minimize()

फिर अजगर स्क्रिप्ट को शॉर्टकट असाइन करें: (कुबंटू में) kmenueditor -> एक नया आइटम बनाएं -> स्क्रिप्ट bash -c 'python path_to_the_python_script.py'-> एक वांछित शॉर्टकट असाइन करें

अद्यतन (मई 19):

कुबंता 19.04 में मुझे स्क्रिप्ट को काम से ऊपर बनाने के लिए gir1.2-wnck-3.0 मॉड्यूल को स्थापित करने की आवश्यकता थी।

$ python -V
Python 2.7.16
$ sudo apt-get install python3-gi gir1.2-wnck-3.0

1

bash स्क्रिप्ट का उपयोग कर xdotool:

currentwindowid=$(xdotool getactivewindow)
currentdesktopid=$(xdotool get_desktop)

for w in $(xdotool search --all --maxdepth 3 --desktop $currentdesktopid --name ".*"); do
  if [ $w -ne $currentwindowid ] ; then
    xdotool windowminimize "$w"
  fi
done

यह वर्तमान डेस्कटॉप पर केवल विंडोज़ को कम करता है।

सभी डेस्कटॉप पर विंडोज़ को कम करने के लिए:

currentwindowid=$(xdotool getactivewindow)

for w in $(xdotool search --all --maxdepth 3 --name ".*"); do
  if [ $w -ne $currentwindowid ] ; then
    xdotool windowminimize "$w"
  fi
done

विभिन्न पायथन संस्करणों के साथ समस्याओं को देखते हुए, मैं इस बैश समाधान को पसंद करता हूं।
विनयुनुच्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.