কমান্ড লাইন থেকে আপনি বর্তমানে কোন ওয়ার্কস্পেসে রয়েছেন তা সনাক্ত করার কোনও উপায় আছে?


12

আমি জিনোমে টার্মিনাল স্ক্রিপ্ট থেকে কীভাবে ওয়ার্কস্পেস নম্বর পেতে পারি তা জানার চেষ্টা করছি। কোন ধারনা?

উত্তর:


13

আপনি যদি কমিজ ব্যবহার করছেন না, আপনি এক্সডটুল ব্যবহার করতে পারেন এক্সডটুল ইনস্টল করুন

উদাহরণ:

xdotool get_desktop

0প্রথম ওয়ার্কস্পেস 1থেকে চালানো হলে , যদি দ্বিতীয় থেকে চালানো হয় তবে এটি ফিরে আসবে etc.


7

একটি পুরানো, এবং উত্তর থ্রেড, কিন্তু আমি ঠিক একই তথ্য পরে ছিল। আপনি স্ট্যান্ডার্ড xorg সরঞ্জামগুলির সাথে এটি করতে পারেন:

xprop -root -notype _NET_CURRENT_DESKTOP

6

আপনি যদি করছে Compiz ব্যবহার করে, এই একটি বিট আরো কঠিন হবে।

সম্পাদনা করুন: এটি এখন কমিজের সাথে এবং ছাড়া উভয়ই কাজ করে, শেষ পর্যন্ত ...

এটি করার জন্য আমি একটি "ছোট" অজগর স্ক্রিপ্ট লিখেছি:

#!/usr/bin/python
from subprocess import Popen, PIPE
getoutput = lambda x: Popen(x, stdout=PIPE).communicate()[0]
compiz_running = list(i for i in getoutput(("ps", "-aef", )).split("\n")
    if "compiz --replace" in i and not "grep" in i) != []

if compiz_running:
    # get the position of the current workspace
    ws = list(int(i.strip(",")) for i in  getoutput(("xprop", "-root",
        "-notype", "_NET_DESKTOP_VIEWPORT", )).split()[-2:])
    # get the number of horizontal and vertical workspaces
    hsize = int(getoutput(("gconftool",
        "--get", "/apps/compiz/general/screen0/options/hsize", )))
    vsize = int(getoutput(("gconftool",
        "--get", "/apps/compiz/general/screen0/options/vsize", )))
    # get the dimentions of a single workspace
    x, y = list(int(i) for i in getoutput(("xwininfo", "-root",
        "-stats", )).split("geometry ")[1].split("+")[0].split("x"))
    # enumerate workspaces
    workspaces, n = [], 0
    for j in range(vsize):
        for i in range(hsize):
            workspaces.append([n, [x*i, y*j, ], ])
            n += 1
    print list(i for i in workspaces if i[1] == ws)[0][0]
# if compiz is not running
else: # this code via @DoR
    print getoutput(("xdotool", "get_desktop", )).strip() 

এটি কোথাও সংরক্ষণ করুন এবং কার্যকর হিসাবে চিহ্নিত করুন। এটি 0ওয়ার্কস্পেসের সংখ্যার মধ্যে কেবল একটি সংখ্যার আউটপুট দেয় ।

গণনাটি এমনভাবে দেখায়:

+---+---+
| 0 | 1 |
+---+---+
| 2 | 3 |
+---+---+

কম্পিজ এক্সডটুল ইনস্টল করুন অক্ষম থাকলে ক্ষেত্রে আপনাকে এক্সডটুল ইনস্টল করতে হবে ।


ধন্যবাদ। আমাকে compiz_running পরীক্ষা থেকে "--replay" সরিয়ে ফেলতে হয়েছিল এবং যথাযথ 12.04-এ এটি চালানোর সময় vsize (1 বনাম 2) এরও ভুল মান পেয়েছিল, যদিও সিসিএসএম সাধারণ বিকল্পগুলি আমার ডেস্কটপ আকার / উল্লম্ব ভার্চুয়াল আকার 2.
নেম্যালকবি

3

কোনও কিছু ইনস্টল না করে এবং আপনি যদি মেটাটিটি ব্যবহার করেন তবে আপনি এটি ব্যবহার করতে পারেন:

python -c "import wnck; s=wnck.screen_get_default(); s.force_update(); w=s.get_active_workspace();  w_num=w.get_number(); print(w_num);" 2>/dev/null

0

মনে হচ্ছে Unক্যের সাথে, গৃহীত উত্তর

 xdotool get_desktop_viewport

কাজ করে না - এটি সর্বদা 0 প্রদান করে I বিকল্পটি কিছুটা জটিল, যেহেতু আপনাকে আপনার কর্মক্ষেত্রের আকার জানতে হবে। অর্থাৎ,

 xdotool get_desktop_viewport

আপনি উপরের ডান কর্মক্ষেত্রে থাকলে "1600 0" এর মতো কিছু ফিরে আসবে। প্রথম সংখ্যাটি সম্ভবত আপনার সবচেয়ে বড় ডিসপ্লেটির প্রস্থ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.