নটিলাস থেকে ফাইলগুলি খোলার সময় জিডিট কেন এলোমেলোভাবে নতুন দৃষ্টান্ত খুলতে রাখে?


32

ওহ, আমি উবুন্টু এবং এর সমস্ত বৈশিষ্ট্যগুলিকে কীভাবে ভালবাসি, তবে এই "বাগ" আমাকে এত দিন ধরে ক্ষুব্ধ করে চলেছে এবং অবশেষে আমি এখানে সাহায্যের জন্য জিজ্ঞাসা করার সিদ্ধান্ত নিয়েছি।

আমি .phpযখনই নটিলাসে ডাবল-ক্লিক করব তখন আমি সমস্ত ফাইলকে জিডিট দিয়ে খোলার জন্য বরাদ্দ করেছি । এখন, আচরণটি অদ্ভুত।

  1. আমার কোনও জিডিট চলছে না
  2. আমি একটি ফাইল খোলার জন্য ডাবল ক্লিক করি
  3. একটি জেডিট উইন্ডো খোলে এবং ফাইল লোড হয়
  4. আমি খোলার জন্য অন্য ফাইলটি ডাবল ক্লিক করি

এখন, 2 সম্ভাব্য ফলাফল রয়েছে:

5 এ) ফাইলটি একটি নতুন ট্যাবে একই জিডিট উইন্ডোতে খোলে

5 বি) ফাইলটি একটি নতুন জিডিট উইন্ডোতে খোলে, ফলস্বরূপ 2 টি জিডিট চলমান।

A বা B হয় কিনা তা পুরোপুরি এলোমেলো মনে হচ্ছে এবং অসীমভাবে চলতে থাকবে। এর অর্থ আমি 100 টি ফাইলগুলিতে ডাবল ক্লিক করেছি এবং আমি 60 টি জিডিট দিয়ে শেষ করতে পারি, যার মধ্যে 1 টি ট্যাব থাকবে, কারও কাছে 2 টি ট্যাব থাকবে, কারও কাছে 3 টি ট্যাব থাকবে ...

এটি অত্যন্ত বিরক্তিকর এবং এর একটি সমাধান খুব প্রশংসিত হবে। কেউ কি কখনও এই সমস্যাটি সমাধান করার চেষ্টা করেছেন?

এটি উবুন্টু 10.04, 10.10 এবং 11.10 এ হয়েছে। সমস্ত উবুন্টু সংস্করণ আমি পরীক্ষা করেছি।

উত্তর:


39

কেন ...

gedit এটি একটি নতুন উদাহরণ খোলে কিনা বা এটি কোনও বিদ্যমান পরিস্থিতিতে কোনও ট্যাবে খোলে কিনা তা নির্ধারণ করতে বেশ আকর্ষণীয় অ্যালগরিদম রয়েছে।

gedit-app.cফাংশনে উত্স ফাইলে অবস্থিত static boolean is_in_viewport, বর্তমান জিডিট উদাহরণটি থাকলে অ্যালগরিদম পরীক্ষা করে

  1. একই স্ক্রিন নম্বর এবং প্রদর্শন নাম
  2. একই কর্মক্ষেত্রে
  3. ভিউ পোর্টের প্রান্তের 25% এরও বেশি

যদি সমস্ত সত্য হয় তবে জিডিটটি একই ক্ষেত্রে নতুন ট্যাবে খোলে অন্যথায় এটি একটি নতুন উইন্ডোতে খোলে।

সংক্ষেপে - আচরণটি পরিবর্তনের একমাত্র বাস্তব উপায় হল অ্যালগরিদম পরিবর্তন করা ...

কিভাবে ...

নিম্নলিখিতটি জিডিট খোলার ধারাবাহিক উপায় পাওয়ার জন্য দ্রুত উপায় ... এটি সর্বদা একটি নতুন উদাহরণ খুলবে।

বেসিক বিকাশ সরঞ্জাম ইনস্টল করুন

sudo apt-get install devscripts build-essential fakeroot 

উত্স পেতে

cd ~/Downloads
mkdir build
cd build
apt-get source gedit
cd gedit-3.2*

পরিবর্তন করো

Gedit-app.c খুলুন

gedit gedit/gedit-app.c

এখানে চিত্র বর্ণনা লিখুন

return FALSE;প্রদর্শিত হিসাবে যোগ করুন এবং সংরক্ষণ করুন।

এটি যা করে তা হ'ল "আমি ভিউপোর্টে চালাচ্ছি না এবং তাই সর্বদা একটি নতুন উদাহরণ খুলি" বলে রুটিনটি থেকে বেরিয়ে আসা

আপনি যদি এটি ব্যবহার করেন return TRUE;তবে সর্বদা একটি নতুন ট্যাবে জিডিটের বিদ্যমান ইভেন্টে খোলা থাকবে ...

এটিকে একটি অনন্য প্যাকেজের নাম দিন

ঠিক আছে, আমাদের পরিবর্তিত প্যাকেজটি ওভাররাইট করা থেকে সংগ্রহের আপডেটগুলি রোধ করতে আমাদের প্যাকেজটিকে একটি অনন্য নাম দেওয়া দরকার

gedit debian/changelog

এখন +yournameউপরের লাইন সংস্করণে যুক্ত করুন এবং ফাইলটি সংরক্ষণ করুন

দ্রষ্টব্য - একেবারে নিশ্চিত হতে - নীচের সংশোধিত প্যাকেজটি ইনস্টল করার পরে, নীচের সংযুক্ত প্রশ্ন অনুযায়ী সংস্করণটি লক করুন।

এখানে চিত্র বর্ণনা লিখুন

প্যাকেজ নির্মাণ

sudo apt-get build-dep gedit
debuild -i -us -uc -b

একটি কফি জন্য যান ...

cd ..
sudo dpkg -i gedit*.deb

সংযুক্ত প্রশ্ন:

  1. কীভাবে একটি নির্দিষ্ট প্যাকেজ আপডেট করা রোধ করবেন?

1
এই, আমার স্যার, অসুস্থ! অনেক অনেক ধন্যবাদ, আশা করি এটি কার্যকর হবে ...
রিচার্ড রড্রিগেজ

... অবশ্যই আমার পরীক্ষার সময় করেছিল ... এনবি - আমি অন্যান্য উত্তর পর্যবেক্ষণটি ব্যবহার করেছি যে আপনি প্রান্তগুলি ওভারল্যাপ করার জন্য জিডিটটি টানলে একটি নতুন উদাহরণ খোলা হয়, তবে ডেস্কটপের মধ্যে জিডিট থাকলে নতুন উদাহরণটি খোলে একটি ট্যাব. উপরোক্ত সংকলন সহ - এটি "রিয়েল ফ্যালস" বা "রিটার্ন ট্রু" সংকলনের উপর নির্ভর করে সর্বদা একটি নতুন উদাহরণ বা ট্যাবে খোলে।
ফসফ্রিডম

আমি আনুষ্ঠানিকভাবে এই সমাধানটি নিশ্চিত করছি ওয়ার্কিং!
রিচার্ড রদ্রিগেজ

3
পবিত্র sh * t @ ফসফ্রিডম, আমি আপনাকে প্রণাম করলাম স্যার, আপনি এবার করেছেন, এই উত্তরটির গুণমান এবং সমাধানটি ইম্পা। আমি যদি পারতাম সারাদিন সেই ভোট আপ বোতাম টিপতে! GJ।
ব্রুনো পেরেইরা

2
দেখে মনে হচ্ছে একটি কনফিগার ভেরিয়েবল থাকার জন্য একটি পুল অনুরোধ করা ভাল ছিল এবং একটি সাধারণ (সিউডো কোড) করা ভাল ছিল "যদি $ কনফিগার-ভেরিয়েবল থাকে তবে মিথ্যা ফিরিয়ে দিন"। প্রস্তাবিত উপায় আপনাকে অনির্দিষ্টকালের জন্য আপডেটগুলি থেকে আটকায়।
পিবিএইচজে

13

আমি চেয়েছিলাম যে সমস্ত ফাইল কেবল একটি জেডিট উইন্ডোতে খোলা হোক। আমি এই তথ্যটি অন্য কোথাও খুঁজে পাইনি, তবে নিম্নলিখিত পরিবর্তনগুলির সাথে আমি সমস্ত টেক্সট ফাইলকে নতুন ট্যাব হিসাবে কেবল একটি উইন্ডোতে খোলা রাখতে পেরেছি, কীভাবে কোনও ম্যাথার খুলব না (লঞ্চারের মাধ্যমে, নটিলাসের মাধ্যমে, জিনোম ডিওয়ের মাধ্যমে)।

  1. প্রদর্শন নম্বরটি পান: echo $DISPLAYকমান্ড লাইনে টাইপ করুন । যেমন আপনি :0আপনার প্রদর্শন নম্বর হিসাবে পেতে ।

  2. /usr/share/applications/gedit.desktopএকটি পাঠ্য সম্পাদক সহ সুপারইউজার হিসাবে খুলুন ।

  3. লাইনটি বলে:

    Exec=gedit %U
    

    থেকে

    Exec=gedit --display=:0 %U
    

    :0আপনার প্রদর্শন নম্বরটি কোথায়


2
জিডিট পুনর্নির্মাণ এবং অদ্ভুত প্যাকেজ হ্যাকগুলি করার চেয়ে অনেক বেশি ভাল better ধন্যবাদ!
rcrogers

1
কমান্ড লাইন থেকে এই বিকল্পটি দিয়ে চালানো geditনতুন দৃষ্টান্ত (উইন্ডো) খোলার প্রতিরোধ করে না । কমপক্ষে বর্তমান সংস্করণে 3.18।
alfC

কমান্ড লাইন এবং জিও থেকে উভয়ই আমার জন্য সংস্করণ 3.28.1 এ কাজ করে। যদিও পুনরায় চালু করতে হবে
এফি

2

এটি এলোমেলোভাবে ঘটবে না

ডিফল্টরূপে গেডিট অনেকগুলি দৃষ্টান্ত খোলার জন্য তৈরি হয় নি তবে প্রতিটি প্রদর্শনীর জন্য একটি করে করে। আপনি যদি প্রদর্শনীতে খোলেন তবে এখনও গেডিট গিডিট জাদুকরীতে ফাইলগুলি খুলবে তবে সেই প্রদর্শনীতে এখন ডাইনি থেকে ফাইলটি খোলে।

সুতরাং আপনি সমস্ত কর্মক্ষেত্রে জিজিটের প্রথম পদক্ষেপ তৈরি করতে পারেন যাতে এটি আপনার সক্রিয় প্রদর্শন অনুসরণ করে। অথবা প্রতিটি প্রকল্পের সাথে প্রতিটি ওয়ার্কস্পেসে এবং প্রতিটি নিজস্ব খোলার গেডিটিসের সাথে কাজ করুন। কীবোর্ড শর্টকাটে আপনি সমস্ত ওয়ার্কস্পেসে উইন্ডো বিচ টগল করার জন্য নতুন শর্টকাট তৈরি করতে পারেন।

বা এটিকে ওপেন উইথ শর্টকাট কমান্ড ব্যবহার করে নতুন উদাহরণে সর্বদা উন্মুক্ত করা সম্ভব .. gedit --new-window

সুতরাং আপনি পুনরায় সেট করে পিএইচপি বৈশিষ্ট্যগুলি খোলার চেষ্টা করতে পারেন এবং কেবল গেডিট দিয়ে নতুন খোলার রাখতে পারেন

gedit --help-allul ব্যবহার করে gedit সহ খোলার অপশন দেখতে পাবেন।

এবং আপনি সমস্ত কনফিগারেশন ফাইলের সাথে জিডিট অপসারণ এবং এটি পরিষ্কার ব্যবহার করে ইনস্টল করার চেষ্টা করতে পারেন sudo apt-get purge gedit && sudo apt-get clean && sudo apt-get update && sudo apt-get install gedit

আপডেট: আমি পুনরুত্পাদন করতে সক্ষম হয়েছি- যখন উইন্ডোটি সামান্য বন্ধ হয়ে যায় তখন কিছু ফাইল খোলার সাথে সাথে নতুন উইন্ডো খোলে। এটি একরকম মনে করে যে এটি অন্য প্রদর্শনীতে।


হ্যাঁ এলোমেলোভাবে ঘটে। এটাই মূল বিন্দু। বাস্তবায়নটি বগি / মজবুত নয়। উদাহরণস্বরূপ, আমি আমার ক্ষতির মুখোমুখি হয়েছি, তবে জিডিট এখন এলোমেলোভাবে আজকের আগের হিসাবে স্বাভাবিক হিসাবে কাজ করার পরে এটিকে সর্বদা একটি নতুন উইন্ডো মোডে স্যুইচ করার সিদ্ধান্ত নিয়েছে ...
স্পিন্কাস

1

এটি আমার সাথে ঘটতে শুরু করে। আমি কোনও প্রাসঙ্গিক কনফ ফাইল খুঁজে পেলাম না এবং এমনকি শুদ্ধ + ক্লিন চেষ্টা করেছিলাম। অবশেষে এটি কী ছিল তা খুঁজে পেয়েছি। গেডিট উইন্ডোটি এমনভাবে খোলা ছিল যা দেখে মনে হয়েছিল এটি সর্বাধিক করা হয়েছিল তবে এটি হয়নি। আমি উইন্ডোতে সর্বোচ্চ বোতাম টিপলাম এবং এটি সমস্যার সমাধান! নোট করুন যে উইন্ডোটি আকার পরিবর্তন করেনি, কেবল কোণগুলি বৃত্তাকার থেকে স্কোয়ারে গেছে। দেখে মনে হচ্ছে এটি উপরে বর্ণিত অ্যালগরিদম @ ফসফ্রিডমিতে একটি বাগ থাকতে হবে ।

দ্রষ্টব্য: আপনি উইন্ডোটি বন্ধ করার সময়, সর্বাধিক / মিনিমাইজ রাষ্ট্রটি অবশ্যই কোনও কোনও ব্যবহারকারী কনফিগারেশনে সংরক্ষণ করতে হবে। এই রাজ্যটি শুদ্ধ + পরিষ্কার থেকে বেঁচে আছে, এবং এটি প্রতি ব্যবহারকারী গেডিট কনফিডে নেই।

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