বর্তমান ওয়ার্কস্পেসের খোলার অ্যাপ্লিকেশনগুলি কি লঞ্চারে থাকা সম্ভব তবে অন্যান্য ওয়ার্কস্পেসের থেকে পাওয়া যাবে না?
বর্তমান ওয়ার্কস্পেসের খোলার অ্যাপ্লিকেশনগুলি কি লঞ্চারে থাকা সম্ভব তবে অন্যান্য ওয়ার্কস্পেসের থেকে পাওয়া যাবে না?
উত্তর:
ঠিক আছে, অন্যান্য উত্তরগুলি বেশ পুরানো, তাই আমি মনে করি আপ-টু-ডেট উত্তর যুক্ত করা উপযুক্ত। এখনই এটি করা সম্ভব এবং খুব কঠিন টিবিএইচ নয় (উবুন্টু 17.10 এর সাথে এবং এতে জিনোম রয়েছে)।
কেবলমাত্র ডকনফ-সম্পাদক ব্যবহার করুন :
sudo apt install dconf-editor
নেভিগেট করতে সংস্থা> GNOME> শেল> Extensions> ড্যাশ-টু-ডক পরীক্ষক বিছিন্ন-ওয়ার্কস্পেস
ব্যবহার xdotool
এর windowunmap
, এটি সম্পূর্ণরূপে একটি উইন্ডো লুকিয়ে করা সম্ভব। উইন্ডো বা তার অ্যাপ্লিকেশনটি আরম্ভকারী আইকনটিতে আর ঘটে না এবং এর আউটপুটে কোনও তালিকাভুক্তও হয় না wmctrl
।
তাত্ত্বিকভাবে, এটি "ওয়ার্কস্পেস ইঞ্জিন" এর সাথে সংযুক্ত হতে পারে, এটি এই এবং এই উত্তরে ব্যবহৃত হয়েছিল । এটি সবচেয়ে মার্জিত সমাধান হত।
তবে, অন্য কর্মক্ষেত্রগুলিতে কেবল উইন্ডোগুলি লুকিয়ে রাখার প্রক্রিয়া এবং স্বয়ংক্রিয়ভাবে বর্তমান কর্মক্ষেত্রে উইন্ডোগুলিকে উত্থাপন করার প্রক্রিয়াটি চলমান ব্যাকগ্রাউন্ড স্ক্রিপ্টটিতে (বর্তমানে জন্য) ব্যবহার করার দাবিদার এবং এটি "ঠান্ডা ধরার সম্ভাবনাও নয়"। যেহেতু ত্রুটিগুলির ক্ষেত্রে উইন্ডোজগুলি ভাল হিসাবে হারিয়ে যায়, তাই আমি সিদ্ধান্ত নিয়েছিলাম যে স্বয়ংক্রিয়ভাবে (পটভূমি) প্রক্রিয়া হিসাবে প্রক্রিয়াটি না দেওয়া।
যদি এই উত্তরটি তবুও আপনার পক্ষে কার্যকর হয় বা না হয় তবে পরিস্থিতি এবং আপনি যে কারণে অ্যাপ্লিকেশনগুলির আইকনগুলি গোপন রাখতে চান তা অন্যান্য ওয়ার্ক স্পেসের উপর নির্ভর করে যদি তা নির্ভর করে; সিদ্ধান্তটি তোমার.
একটি স্ক্রিপ্ট, একটি শর্টকাট কী এর অধীন উপলব্ধ, আপাতদৃষ্টিতে বর্তমান কর্মক্ষেত্রের সমস্ত উইন্ডো তৈরি করে (এবং এইভাবে অ্যাপ্লিকেশনগুলি) সম্পূর্ণরূপে অদৃশ্য হয়ে যায়। তার অর্থ ityক্য প্রবর্তকটিতে অ্যাপ্লিকেশনটির আইকনটি অ্যাপ্লিকেশনটির কোনও ক্রিয়াকলাপ দেখায় না:
আবার স্কর্চট কী সংমিশ্রণটি টিপলে উইন্ডো এবং তাদের অ্যাপ্লিকেশনগুলি আবার উপস্থিত হবে।
#!/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]])
স্ক্রিপ্ট উভয়ের প্রয়োজন wmctrl
এবং xdotool
:
sudo apt-get install wmctrl xdotool
toggle_visibility.py
স্ক্রিপ্টটি পরীক্ষা করুন: টার্মিনাল উইন্ডোতে, কমান্ডটি চালান:
python3 /path/to/toggle_visibility.py
এখন একটি নতুন টার্মিনাল উইন্ডো খুলুন (যেহেতু প্রথমটি পৃথিবীর চেহারা থেকে আপাতদৃষ্টিতে অদৃশ্য হয়ে গেছে) এবং আবার একই আদেশটি চালান run সমস্ত উইন্ডোজ আবার প্রদর্শিত হবে।
এনবি : পরীক্ষা করার সময় আপনার "মূল্যবান" উইন্ডো না খোলা আছে তা নিশ্চিত করুন
যদি সমস্ত ঠিকঠাক কাজ করে তবে শর্টকাট কী সংমিশ্রনে কমান্ডটি যুক্ত করুন: চয়ন করুন: সিস্টেম সেটিংস> "কীবোর্ড"> "শর্টকাট"> "কাস্টম শর্টকাট"। "+" ক্লিক করুন এবং কমান্ডটি যুক্ত করুন:
python3 /path/to/toggle_visibility.py
হিসাবে বলেন, স্ক্রিপ্ট ব্যবহার xdotool
এর windowunmap
, (সম্পূর্ণরূপে) লুকান Windows- এ এবং অ্যাপ্লিকেশন তারা অন্তর্গত। এই পান্ডুলিপি:
পরবর্তী রান, স্ক্রিপ্ট:
এইভাবে বর্তমান কর্মক্ষেত্রে উইন্ডো এবং অ্যাপ্লিকেশনগুলির দৃশ্যমানতা টগলিং করা।
ctrl
+ shift
+arrow key
দুর্ভাগ্যক্রমে এটি অসম্ভব।
Ityক্য সর্বদা সর্বত্র সমস্ত অ্যাপ্লিকেশন দেখায় এবং এটি পরিবর্তন করার কোনও উপায় নেই। একটি বাগ রিপোর্ট রয়েছে - https://bugs.launchpad.net/ayatana-design/+bug/683170 তবে মনে হয় বিকাশকারীরা কিছুই করবে না। সম্ভবত আপনি যদি পৃষ্ঠার শীর্ষে চিহ্নিত করে থাকেন যে এই বাগটি আপনাকে প্রভাবিত করে এটি বিকাশকারীদেরকে এই জাতীয় বিকল্পের গুরুত্ব বুঝতে সহায়তা করবে।