নটিলাস ফাইল ম্যানেজারটি বন্ধ এবং খোলার মধ্যে কি আমার উন্মুক্ত ট্যাবগুলি সংরক্ষণ করা সম্ভব?
সাধারণত বিভিন্ন লগআউট এবং পুনঃসূচনাগুলি জুড়ে।
নটিলাস ফাইল ম্যানেজারটি বন্ধ এবং খোলার মধ্যে কি আমার উন্মুক্ত ট্যাবগুলি সংরক্ষণ করা সম্ভব?
সাধারণত বিভিন্ন লগআউট এবং পুনঃসূচনাগুলি জুড়ে।
উত্তর:
দুর্ভাগ্যক্রমে, নটিলাস তার উইন্ডোগুলির খোলার ডিরেক্টরিটি পড়ার জন্য কমান্ড লাইন বিকল্পগুলি সরবরাহ করে না, বা অন্য ডিরেক্টরিতে বিদ্যমান উইন্ডোটি প্রেরণের কোনও বিকল্প নেই । যেহেতু আপনি যা দেখতে পাচ্ছেন না তা আপনি স্মরণ করতে পারবেন না, তাই আমরা প্রথম দর্শনে বিকল্পের বাইরে চলে যাচ্ছি।
যাহোক
আমাদের যা আছে xdotool
তা করার nautilus
নয়, তবে আপনি যে আচরণটি বর্ণনা করেছেন তা অন্তত নকল করে দেওয়া। আমরা এটি এমনভাবে করতে পারি যে এটি কীভাবে করা হয় যদি আপনি না জানতেন তবে "আপনি এটি বিশ্বাস করবেন"।
যদিও নীচের সমাধানটি পুনঃসূচনা থেকে বেঁচে নেই, "স্মরণ" (সম্ভবত ট্যাবড) উইন্ডো এবং সমস্ত খোলা ডিরেক্টরিগুলি এক সেশনের মধ্যে খুব ভালভাবে সম্ভব। যেহেতু আপনি "দ্বিতীয় পছন্দ" হিসাবে এতে আগ্রহী হওয়ার কথা উল্লেখ করেছেন, তাই এখানে।
যদিও আমরা একটি উইন্ডোটি বন্ধ করতে পারি না এবং এর ট্যাবগুলি এবং খোলার ডিরেক্টরিগুলি সংরক্ষণ করতে পারি না , আমরা একটি বিদ্যমান উইন্ডো আপাতদৃষ্টিতে (এবং সম্পূর্ণরূপে) অদৃশ্য করতে পারি, এর সাহায্যে xdotool
।
আমরা পরবর্তীতে আচরণ পরিবর্তন করেন তাহলে nautilus
এমনভাবে এটা লঞ্চার প্রথম সম্ভব জন্য দেখায় unmapped জানালা পুনরায় ম্যাপ, একটি নতুন একটি খোলার আগে, কার্যকরীভাবে আমরা আছে ঠিক একই আচরণ যেন nautilus
সর্বশেষ ব্যবহৃত উইন্ডোতে (গুলি) স্মরণ করবে।
নীচের স্ক্রিপ্টটি একটি খালি ফাইলে অনুলিপি করুন, এটি সংরক্ষণ করুন remember.py
#!/usr/bin/env python3
import subprocess
import os
app = "nautilus"
wfile = os.environ["HOME"]+"/.unmapped_"+app
def get(cmd):
# simply a helper function
return subprocess.check_output(cmd).decode("utf-8").strip()
def check_windowtype(w_id):
# check the type of window; only unmap "NORMAL" windows
return "_NET_WM_WINDOW_TYPE_NORMAL" in get(["xprop", "-id", w_id])
def get_pid(app):
# (try to) get the pid of the application
try:
return get(["pgrep", app])
except subprocess.CalledProcessError:
pass
def get_matches(pid):
# get the window list, select the valid (real) app's windows
ws = get(["wmctrl", "-lpG"]).splitlines()
matches = [w.split() for w in ws if pid in w]
return [w for w in matches if check_windowtype(w[0]) == True]
try:
# try to read the file with unmapped windows
wininf = [l.split() for l in open(wfile).readlines()]
except FileNotFoundError:
# if there are no, unmap the current app's windows
filebrowserwins = get_matches(get_pid(app))
if filebrowserwins:
open(wfile, "wt").write(("\n").join((" ").join(l) for l in filebrowserwins))
for w in [w[0] for w in filebrowserwins]:
subprocess.Popen(["xdotool", "windowunmap", w])
else:
arg = "--new-window" if app == "nautilus" else ""
subprocess.Popen([app, arg])
else:
# re- map unmapped windows
for w in wininf:
wid = w[0]; geo = w[3:7]
subprocess.call(["xdotool", "windowmap", wid])
subprocess.Popen(["wmctrl", "-ir", wid, "-e", "0,"+(",").join(geo)])
os.remove(wfile)
স্ক্রিপ্ট উভয়ের প্রয়োজন wmctrl
এবং xdotool
:
sudo apt-get install wmctrl xdotool
কপি nautilus
থেকে লঞ্চার /usr/share/applications
থেকে~/.local/share/applications
15.04 এবং তার জন্য:
cp /usr/share/applications/org.gnome.Nautilus.desktop ~/.local/share/applications
পূর্ববর্তী উবুন্টু সংস্করণগুলির জন্য:
cp /usr/share/applications/nautilus.desktop ~/.local/share/applications
জিডিট দিয়ে স্থানীয় কপিটি খুলুন:
gedit ~/.local/share/applications/org.gnome.Nautilus.desktop
(ক্ষেত্রে 15.04 +
)
এবং প্রথম লাইনের সন্ধান করুন, দিয়ে শুরু করুন Exec=
। এটিকে পরিবর্তন করুন:
Exec=python3 /path/to/remember.py
সংরক্ষণ করুন এবং ফাইলটি বন্ধ করুন।
একই কমান্ডের সাহায্যে একটি কীবোর্ড শর্টকাট তৈরি করুন: চয়ন করুন: সিস্টেম সেটিংস> "কীবোর্ড"> "শর্টকাট"> "কাস্টম শর্টকাট"। "+" ক্লিক করুন এবং কমান্ডটি যুক্ত করুন:
python3 /path/to/remember.py
এখন লগ আউট এবং ফিরে
ব্যবহার খুব সহজ:
উইন্ডোটি খুলতে, যথারীতি করুন: নটিলাস লঞ্চারটিতে ক্লিক করুন। আপনার পছন্দ মতো উইন্ডোটি ট্যাব করুন:
নিশ্চিতভাবে উইন্ডোটি বন্ধ করতে, উইন্ডোর "ক্লোজ" ( এক্স ) বক্সে ক্লিক করে এটি বন্ধ করুন ।
করার সংরক্ষণ : উইন্ডো (গুলি) + + সব তার ট্যাব
প্রেস শর্টকাট কী। উইন্ডো (গুলি) অদৃশ্য হয়ে যাবে (মনে হচ্ছে বন্ধ) close
পরের বার আপনি যখন লঞ্চারটি ক্লিক করবেন, নটিলাস উইন্ডোটি সর্বশেষ সময়ের মতো ঠিক উপস্থিত হবে, এমনকি উইন্ডোর অবস্থান (গুলি) সংরক্ষণ করা হবে।
এটাই
নিমো ব্যবহারকারীরা উপরের সমাধানটি সমানভাবে ব্যবহার করতে পারেন তবে:
স্ক্রিপ্টের প্রধান অংশে, পরিবর্তন করুন:
app = "nautilus"
মধ্যে:
app = "nemo"
পয়েন্ট 3 এ, ব্যবহার করুন:
cp /usr/share/applications/nemo.desktop ~/.local/share/applications
পয়েন্ট 4 এ, ব্যবহার করুন:
gedit ~/.local/share/applications/nemo.desktop
পরীক্ষিত, নিমো নিয়ে কাজ করার প্রমাণিত
আমি পরিবর্তে অন্য ফাইল ম্যানেজার ব্যবহার করার পরামর্শ দিচ্ছি যদি এটি আপনার সাথে ঠিক থাকে তবে নটিলাসের সেই বৈশিষ্ট্যটি নেই ।
কৌশলগুলির জন্য এখানে একটি বিকল্প অ্যাপ রয়েছে: স্পেসএফএম
এটি কীভাবে ইনস্টল করবেন তা এখানে।
এটিতে সমৃদ্ধ বৈশিষ্ট্য রয়েছে যেমন, অবশ্যই শেষ ট্যাবগুলি আবার খুলুন ।
এটি ডিফল্ট ফাইল ম্যানেজার করতে:
xdg-mime default spacefm.desktop inode/directory
নটিলাস ফাইল ম্যানেজারের ট্যাবগুলি সংরক্ষণ এবং পুনরুদ্ধার করতে এই স্ক্রিপ্টগুলি ব্যবহার করে দেখুন। https://github.com/susurri/nautilus_save_tabs/
ফোল্ডার অ্যাক্সেস করার সহজতম উপায় হ'ল বুকমার্কিং। আপনি নিজের ট্যাবগুলি উন্মুক্ত রাখবেন না তবে আপনি কমপক্ষে যে ফোল্ডারগুলি চান তা দ্রুত দেখতে পারেন (এবং আপনি যদি এটির বিষয়ে চিন্তা করেন তবে বুকমার্কগুলি ট্যাব হিসাবে কাজ করে)।
নটিলাসে কেবল একটি ফোল্ডার খুলুন, বুকমার্ক মেনুতে যান এবং একটি বুকমার্ক যুক্ত করুন।