लॉन्चर में केवल वर्तमान कार्यक्षेत्र के अनुप्रयोगों को दिखाने के लिए सेटिंग?


30

क्या लांचर में वर्तमान कार्यक्षेत्र के खुले हुए अनुप्रयोग होना संभव है लेकिन अन्य कार्यक्षेत्रों से नहीं?


मुझे लगता है कि ctrl + (1,2,3,4) का उपयोग कार्यस्थानों को बदलने के लिए किया जाता है। लेकिन सिस्टम सेटिंग्स में शॉर्टकट देखें ...
अलवर

सभी उपलब्ध एकता शॉर्टकट का अवलोकन प्रदर्शित करने के लिए सुपर कुंजी (विंडोज कुंजी) को दबाए रखें। इस प्रश्नोत्तर को भी देखें
Glutanimate

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

यहाँ भी वही सवाल । हालाँकि, कि एक जवाब की कमी है।
RPiAwesomeness

संभवत: आपके जवाब की तलाश नहीं है लेकिन customizability की एकता की कमी है। यदि आपकी विशेष आवश्यकताएं हैं या आप अपने डेस्कटॉप पर अधिक नियंत्रण चाहते हैं, तो आपको केडीई जैसे अधिक लचीले डेस्कटॉप वातावरण में जाने पर विचार करना चाहिए।
३38 बजे

जवाबों:


30

उबंटू डॉक के लिए उबंटू के साथ 17.10 और बाद में (गनोम के साथ) भेज दिया गया

खैर, अन्य जवाब बहुत पुराने हैं, इसलिए मुझे लगता है कि यह अप-टू-डेट जवाब जोड़ने के लायक है। यह अभी संभव है और बहुत कठिन tbh (उबंटू 17.10 के साथ और यह सूक्ति के साथ) संभव है।

बस dconf- संपादक का उपयोग करें :

sudo apt install dconf-editor

Org> gnome> शेल> एक्सटेंशन> डैश-टू-डॉक पर नेविगेट करें और आइसोलेट-वर्कस्पेस को जांचें यहां छवि विवरण दर्ज करें


1
इस सवाल का डैश डॉक गनोम एक्सटेंशन से कोई लेना-देना नहीं है। सवाल एकता लांचर के बारे में है, जो डैश टू डॉक एकता के साथ भी संगत नहीं है।
टेढ़े

2
@crochedleaf उबंटू 17.10 के साथ डिफ़ॉल्ट रूप से डब-टू-डॉक के साथ गनोम में बदल गया।
सेठ

1
@ सेठ लेकिन ओपी एकता का उपयोग कर रहे हैं, सूक्ति का नहीं। तो या तो ओपी ने गलती से "एकता" टैग का उपयोग किया, या वे एकता के साथ एक उबंटू संस्करण का उपयोग कर रहे हैं।
कुटिललीफ

3
@ crookedleaf या हमें बस सवालों को अपडेट रखने की आवश्यकता है ताकि उनके पास नवीनतम उत्तर भी हों :)
सेठ

1
18.04 / w सूक्ति में महान काम करता है। धन्यवाद! ध्यान दें कि एक्सटेंशन को वेबसाइट से भी आसानी से स्थापित किया जा सकता है: Extension.gnome.org/extension/307/dash-to-dock
जेफ वार्ड

8

(अन्य) कार्यस्थानों पर अनुप्रयोगों को अप्राप्य कैसे बनाया जाए

का उपयोग करते हुए xdotoolकी windowunmap, यह पूरी तरह से एक खिड़की को छिपाने के लिए संभव है। विंडो, और न ही इसका अनुप्रयोग, लॉन्चर आइकन में और भी होता है, और इसके आउटपुट में भी सूचीबद्ध नहीं है wmctrl

सैद्धांतिक रूप से, इसे "कार्यक्षेत्र-इंजन" से जोड़ा जा सकता है, जिसका उपयोग इस और इस उत्तर में किया गया था । यह सबसे सुरुचिपूर्ण समाधान होता।

हालांकि, अन्य कार्यक्षेत्रों पर केवल खिड़कियों को छिपाने और वर्तमान कार्यक्षेत्र पर स्वचालित रूप से उठाने की प्रक्रिया बहुत चल रही पृष्ठभूमि स्क्रिप्ट (अब के लिए) में उपयोग करने की मांग कर रही है , और साथ ही "ठंड को पकड़ने के लिए" संभावना नहीं है। चूंकि विंडोज़ त्रुटियों के मामले में अच्छे के लिए खो जाती हैं, इसलिए मैंने प्रक्रिया को स्वचालित (पृष्ठभूमि) प्रक्रिया के रूप में पेश नहीं करने का फैसला किया।

यदि यह उत्तर आपके लिए अभी भी उपयोगी है या नहीं, स्थिति पर निर्भर करता है, और यही कारण है कि आप अन्य कार्यस्थानों पर चल रहे अनुप्रयोगों के आइकन छिपाना चाहते हैं; फैसला आपका है।

समाधान; यह क्या है और यह व्यवहार में कैसे काम करता है

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

    तीन चल रहे एप्लिकेशन: यहां छवि विवरण दर्ज करेंशॉर्टकट कुंजी दबाने के बाद:यहां छवि विवरण दर्ज करें

  • फिर से schortcut कुंजी संयोजन को दबाते हुए, विंडोज़ और उनके अनुप्रयोग फिर से दिखाई देंगे।

  • चूंकि कुंजी संयोजन केवल वर्तमान कार्यक्षेत्र से विंडोज़ और एप्लिकेशन को छिपाएगा , आप बाद में वर्तमान कार्यस्थान पर क्या (छिपा हुआ) है, इसके संकेत के बिना किसी अन्य कार्यस्थान पर स्विच कर सकते हैं।
  • वर्तमान कार्यक्षेत्र पर भी अनहाइडिंग किया जाता है (केवल), इसलिए संक्षेप में, छिपाने और अनहाइडिंग की प्रक्रिया कार्यक्षेत्र के अनुसार पूरी तरह से स्वतंत्र है ।

लिपी

#!/usr/bin/env python3
import subprocess    
import os
import time

datadir = os.environ["HOME"]+"/.config/maptoggle"
if not os.path.exists(datadir):
    os.makedirs(datadir)
workspace_data = datadir+"/wspacedata_"

def get_wlist(res):
    res = get_res()
    try:
        wlist = [l.split() for l in subprocess.check_output(["wmctrl", "-lG"]).decode("utf-8").splitlines()]
        return [w for w in wlist if all([
            0 < int(w[2]) < res[0],
            0 < int(w[3]) < res[1],
            "_NET_WM_WINDOW_TYPE_NORMAL" in subprocess.check_output(["xprop", "-id", w[0]]).decode("utf-8"),
            ])]
    except subprocess.CalledProcessError:
        pass

def get_res():
    # get resolution
    xr = subprocess.check_output(["xrandr"]).decode("utf-8").split()
    pos = xr.index("current")
    return [int(xr[pos+1]), int(xr[pos+3].replace(",", "") )]

def current(res):
    # get the current viewport
    vp_data = subprocess.check_output(
        ["wmctrl", "-d"]
        ).decode("utf-8").split()
    dt = [int(n) for n in vp_data[3].split("x")]
    cols = int(dt[0]/res[0])
    curr_vpdata = [int(n) for n in vp_data[5].split(",")]
    curr_col = int(curr_vpdata[0]/res[0])+1
    curr_row = int(curr_vpdata[1]/res[1])
    return str(curr_col+curr_row*cols)

res = get_res()

try:
    f = workspace_data+current(res)
    wlist = eval(open(f).read().strip())
    for w in wlist:
        subprocess.Popen(["xdotool", "windowmap", w[0]])
    os.remove(f)
except FileNotFoundError:
    current_windows = get_wlist(res)
    open(f, "wt").write(str(current_windows))
    for w in current_windows:
        subprocess.Popen(["xdotool", "windowunmap", w[0]])

कैसे इस्तेमाल करे

  1. स्क्रिप्ट को दोनों की जरूरत है wmctrlऔर xdotool:

    sudo apt-get install wmctrl xdotool
    
  2. एक खाली फ़ाइल में स्क्रिप्ट की प्रतिलिपि बनाएँ, इसे सहेजें toggle_visibility.py
  3. टेस्ट- स्क्रिप्ट चलाएँ: टर्मिनल विंडो में, कमांड चलाएँ:

    python3 /path/to/toggle_visibility.py
    

    अब एक नई टर्मिनल विंडो खोलें (चूंकि पहली बार पृथ्वी के चेहरे से गायब प्रतीत होता है) और उसी कमांड को फिर से चलाएं। सभी विंडो फिर से दिखाई देनी चाहिए।

    नायब : सुनिश्चित करें कि आपके पास परीक्षण करते समय "मूल्यवान" खिड़कियां नहीं हैं

  4. यदि सभी ठीक काम करते हैं, तो कमांड को शॉर्टकट कुंजी संयोजन में जोड़ें: चुनें: सिस्टम सेटिंग्स> "कीबोर्ड"> "शॉर्टकट"> "कस्टम शॉर्टकट"। "+" पर क्लिक करें और कमांड जोड़ें:

    python3 /path/to/toggle_visibility.py
    

व्याख्या

के रूप में कहा, स्क्रिप्ट का उपयोग करता है xdotoolके windowunmap, (पूरी तरह से) छिपाने खिड़कियों को और अनुप्रयोगों वे के हैं। लिपी:

  • पढ़ता है कि वर्तमान कार्यक्षेत्र क्या है
  • विंडोज़ को पढ़ता है, जो वर्तमान कार्यक्षेत्र पर मौजूद है (केवल)
  • वर्तमान कार्यस्थान के नाम पर एक फ़ाइल में विंडो सूची लिखता है
  • खिड़कियों को छुपाता है

अगले भाग पर, स्क्रिप्ट:

  • जाँच करें कि क्या फ़ाइल, वर्तमान कार्यक्षेत्र के लिए मौजूद है
  • यदि हां, तो विंडो सूची पढ़ता है और संयुक्त राष्ट्र विंडोज़ को छुपाता है।

इस प्रकार वर्तमान कार्यक्षेत्र पर खिड़कियों और अनुप्रयोगों की दृश्यता टॉगल की जाती है।


महान। अब केवल तभी जब मैं दूसरे कार्यक्षेत्र में जाने पर स्क्रिप्ट को स्वचालित रूप से निष्पादित करने का एक तरीका खोज सकता हूं ताकि वे केवल जादुई रूप से गायब हो जाएं और फिर वापस आने पर फिर से दिखाई दें। शायद मैं ctrl+ shift+arrow key
थु येन तुन

1
17.10 पर अब यह संभव है। अन्य उत्तर देखें।
मार्टिन मेल्का

6

दुर्भाग्य से यह असंभव है।

एकता हमेशा हर जगह से सभी एप्लिकेशन दिखाती है और इसे बदलने का कोई तरीका नहीं है। एक बग रिपोर्ट है - https://bugs.launchpad.net/ayatana-design/+bug/683170 लेकिन लगता है कि डेवलपर्स कुछ भी नहीं करने जा रहे हैं। संभवतः यदि आप पृष्ठ के शीर्ष पर चिह्नित करते हैं कि यह बग आपको प्रभावित करता है तो यह डेवलपर्स को ऐसे विकल्प के महत्व को समझने में मदद करेगा।


1
बग रिपोर्ट पर टिप्पणी न करें, इसे केवल पृष्ठ के शीर्ष पर प्रभावित करने के रूप में चिह्नित करें।
फ्लिम्‍प

@ फाल्म क्या आपको पता है कि डेस्कटॉप मैनेजर की यह फन्नेसीटिटी क्या है?
सीजर

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