তথ্য প্রদর্শনের জন্য খালি ইকো অঞ্চলটি ব্যবহার করুন


10

প্রতিধ্বনির ক্ষেত্রটি বেশিরভাগ সময় খালি থাকে, যা আমাকে মনে করে যে আমি কিছু তথ্য প্রদর্শন করতে এটি ব্যবহার করতে পারি। উদাহরণস্বরূপ, org-clockবর্তমান কাজটি, বাকি সময় এবং মডেলিনে মোট সময় অতিবাহিত প্রদর্শন করে। এই তথ্যটি সেখানে সত্যই পঠনযোগ্য নয় (মডেলিনটি বরং সংক্ষিপ্ত হতে পারে), প্রতিটি মডেলিনে পুনরাবৃত্তি করা হয় (কারণ এটি পুরো ইম্যাকস অধিবেশনটিতে প্রযোজ্য), এবং এটি দরকারী নয় যে আমি এর জন্য কিছু মূল্যবান মডেলিন স্থান ত্যাগ করতে ইচ্ছুক নই । অন্যদিকে, এখানে প্রদর্শনের মতো আর কিছুই নেই তখন এটি প্রতিধ্বনির অঞ্চলতে উপস্থিত হতে পারে।

এটি অর্জনের কোনও প্রচলিত উপায় আছে? আমি এতে একটি সন্নিবেশ ফাংশন হ্যাক করার কথা ভেবেছি minibuffer-inactive-mode-hook(তবে এটি নির্ভরযোগ্যভাবে কাজ করে না, উদাহরণস্বরূপ বার্তাটি প্রতিধ্বনির ক্ষেত্রটি আবার ব্যবহারের সাথে সাথেই অদৃশ্য হয়ে যায়), অথবা স্পষ্ট করা নন-লগ হওয়া বার্তাগুলি (তবে এটি অন্যান্য ব্যবহারের সাথে আবদ্ধ হবে) প্রতিধ্বনি অঞ্চল এবং মিনিবাসার)।

এর একটি দুর্বল ম্যান সংস্করণ অলস টাইমার ব্যবহার করবে, তবে ইকো অঞ্চলটি ইম্যাকগুলি নিষ্ক্রিয় না হয়ে ফাঁকা হতে পারে (উদাহরণস্বরূপ কিছু পাঠ্য ইনপুট দেওয়ার সময়)।


1
প্রদর্শিত ইকো অঞ্চলটি হ'ল E * ইকো অঞ্চল 0 * `বা` * ইকো অঞ্চল 1 * `এর সামগ্রী এবং এগুলি" সাধারণ "বাফার। এটি ইম্যাক্সকে প্যাচ করার পক্ষে উপযুক্ত হবে যাতে এই বাফারগুলি যখন "ফ্লাশ" করা হয় (বা প্রদর্শিত হয় এবং খালি থাকে) তখন একটি হুক রান সরবরাহ করা যায়, যাতে এই কার্যকারিতা দক্ষতার সাথে এবং নির্ভরযোগ্যভাবে প্রয়োগ করা যায়।
স্টিফান

আপনার মনের কথাটি ঠিক তেমন নয় তবে বাস্টিয়েন গেরি স্ক্রিন এস্টেটটি বিশেষত ফ্রেমের শিরোনামে মোড লাইন প্রদর্শন করার জন্য কিছু আকর্ষণীয় স্টাফ করেছেন: bzg.fr/emacs-strip-tease.html
ডাইটার.ওয়িলহেল্ম

উত্তর:


4

এই প্রশ্নের একটি মন্তব্যে উল্লেখ করা হয়েছে যে সিমন নামের একটি প্যাকেজ এই জাতীয় বৈশিষ্ট্যটি ব্যবহার করে।

মিনিবুফার নিষ্ক্রিয় থাকলে অ-লগ করা বার্তাগুলিকে স্প্যামিং করে এবং কমান্ড জারি হওয়ার সাথে সাথে পুনরায় খেলা পুনরায় প্রদর্শন বন্ধ করে এটি অর্জন করা হয়। এর জন্য বয়লারপ্লেটটি বরং সংক্ষিপ্ত এবং ব্যবহারের কয়েক মিনিটের পরে আমি তাতে কোনও সমস্যা লক্ষ্য করতে পারি না: বার্তাগুলি এবং মিনিবাসার ব্যবহার এখনও বার্তাগুলির চেয়ে বেশি অগ্রাধিকার নেয়।

মূল উপাদানগুলি হ'ল:

  • একটি প্রদর্শন ফাংশন, একটি অলস টাইমার চালানো ( message-log-maxসেট সঙ্গে বার্তা কল nil, যাতে প্রদর্শিত স্ট্রিং *Messages*বাফারে না পেতে )
  • একটি পুনরায় প্রদর্শন ফাংশন, একটি টাইমার উপর চালানো
  • প্রদর্শন থামাতে একটি ফাংশন, চালানো pre-command-hook

একমাত্র সমস্যা হ'ল প্রদর্শনটি যখনই কোনও কমান্ড চালিত হচ্ছে তখনই এটি বন্ধ করা হবে, যা টাইপ করার সময় অন্তর্ভুক্ত রয়েছে।

যারা আগ্রহী জন্য, আমি একটি boilerplate, প্যাকেজ মধ্যে প্রাসঙ্গিক কোড উপলব্ধ নিষ্কাশিত আছে GitHub


1

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

সংক্ষেপে, একটি বিকল্প ব্যবহার করুন। এখানে কিছু আছে:

  1. অন্য কিছু বাফার ব্যবহার করুন (যেমন একটি ছোট ফ্রেম বা উইন্ডো যা আপনি এই উদ্দেশ্যে খোলা রাখে)। করা সহজ, আপনি এটিকে চারপাশে সরিয়ে নিতে, এডিট করতে, এটি মুছতে বা আপনার পছন্দ মতো যা কিছু করতে পারেন।

  2. অংশ বা সমস্ত মোড লাইনের (যা আপনি ইতিমধ্যে বিবেচনা করেছেন, স্পষ্টতই) ব্যবহার করুন।

  3. একটি শিরোনাম লাইন ব্যবহার করুন।

  4. একটি ফ্রেম শিরোনাম ব্যবহার করুন।

যদি এটি আমি হয় তবে আমি সম্ভবত # 1 বেছে নেব। (তবে আমি সত্যিকার অর্থে স্থিতির তথ্যের এমন একটি পূর্ণ-সময় প্রদর্শনের প্রয়োজন / চাই না I আমি সম্ভবত একটি কমান্ড সংজ্ঞায়িত করব যা আমাকে চাহিদার তথ্য (এমনকি একটি ইতিহাস / লগ) দেখায়))


আপনার মন্তব্যের পরে আপডেট হয়েছে:

আপনি ইতিমধ্যে আপনার প্রশ্নে বলেছিলেন, " ইকো অঞ্চলটি আবার ব্যবহার করার সাথে সাথে বার্তাটি অদৃশ্য হয়ে যাবে "। ইকো অঞ্চলটি আপনার প্রয়োজনের সাথে খাপ খায় না তাই এটি এমন একটি সংক্ষিপ্ত স্থান ব্যবহার করার মতো শোনাচ্ছে। আপনার মন্তব্যের জবাবগুলি এর বিরোধিতা বলে মনে হচ্ছে।

আপনি যদি সত্যিই প্রতিধ্বনি অঞ্চলটি ব্যবহার করতে চান, তবে minibuffer-inactive-mode-hookআপনি যেমনটি উল্লেখ করেছেন তেমনভাবে ব্যবহার করুন, বা টাইমরটি কল করতে messageবা অন্য কোনও উপায়ে ইকো অঞ্চলে সময় বার্তা সন্নিবেশ করতে ব্যবহার করুন । যাইহোক, আপনি ইতিমধ্যে যে সমস্যাগুলি লক্ষ করেছেন। এই সমস্যাগুলি (ওভাররাইটিং, মুছে ফেলা) ইকো অঞ্চলের ( উদ্দেশ্যে ) সংক্ষিপ্ত প্রকৃতি থেকে অনুসরণ করে ।

সংক্ষেপে, আপনি ক্ষুদ্রতর বার্তাগুলির জন্য উদ্দেশ্যে করা অঞ্চলটি ব্যবহার করতে চান, তবে আপনি চান না যে সেই অঞ্চলটি আবার ব্যবহার করার সাথে সাথে আপনার বার্তাগুলি অদৃশ্য হয়ে যাবে।

(বিটিডব্লিউ - আপনার উল্লেখটি কবুল করুন যে প্রতিটি মোড লাইনে মোড-লাইন তথ্য পুনরাবৃত্তি করা হয়: এটি হওয়ার দরকার নেই You আপনি মোড লাইনটি একটি নির্দিষ্ট বাফার ইত্যাদির জন্য নির্দিষ্ট করতে পারেন ইত্যাদি) আপনি সর্বদা একটি মোড লাইন বেছে নিতে পারেন (বা পর্যায়ক্রমে) আপনার ঘড়ি বা যা কিছু দেখান))


আপনার পরামর্শের জন্য ধন্যবাদ! প্রথমে, যদিও আমি বেশ বুঝতে পারি না, কেন এটি সমস্যাযুক্ত? আমি এমন জিনিস চাই যা প্রতিধ্বনি অঞ্চলের এটিমের কাছে প্রতিধ্বনি অঞ্চলের অন্য কোনও ব্যবহারকে ওভাররাইড করতে পারে, তাই এটি মুছে ফেলা ঠিক। প্রতিধ্বনির ক্ষেত্রটি খালি থাকলে অতিরিক্ত তথ্যটি প্রদর্শিত হবে, তাই মোছার কিছুই নেই। শব্দটি কি যুক্তিসঙ্গত স্পেসিফিকেশনের মতো নয়? প্রায় # 1, সমস্যাটি হ'ল আমি পর্দার স্থান নষ্ট করতে চাই না। প্রতিধ্বনির অঞ্চলটি সর্বদা থাকে, এমনকি এটি খালি থাকলেও। আমি # 2, এবং # 3 এবং # 4 দিয়ে এই সমস্যাগুলি অনেক ভাগ করে নিয়ে কিছু সমস্যা তালিকাভুক্ত করেছি।
টি ভেররন

আমাদের সম্পর্কে কেন আমি তথ্য পূর্ণ সময়ের প্রদর্শন চান, উদাহরণস্বরূপ নিতে org-clockপ্রশ্নটি থেকে উদাহরণ: আমি ডাউন টাইমার টিক্দান আমাকে আমি কি কাজ করা উচিত মনে করিয়ে করতে চান, এবং যে আমি অনুমিত করছি যে কাজ করা এখন , যেমন প্রায়শই সম্ভব
টি ভেরন

"ইকো অঞ্চলটি আবার ব্যবহার করার সাথে সাথে বার্তাটি অদৃশ্য হয়ে যাবে" ঠিক আছে এটি অস্পষ্ট ছিল। আমার অভিপ্রায়টি হ'ল আমি যদি minibuffer-inactive-mode-hookমিনিবফারটি ব্যবহার করি এবং প্রস্থান করি তবে বার্তাটি দেখায়। তারপরে যদি অন্য কোনও কমান্ড প্রতিধ্বনির ক্ষেত্রটিতে কিছু প্রিন্ট করে তবে এই নতুন বার্তাটি যুক্ত করা হবে, এবং ক্ষণিকের বার্তা ফিরে আসবে না (কারণ এই সময় মিনিবাসটি জড়িত হয়নি)।
টি ভেরন

মডেলাইন সম্পর্কে, প্রধান সমস্যাটি হ'ল ছোট ছোট উপলভ্য স্থান (আমার প্রায়শই প্রচুর উইন্ডোজ থাকে, অনুভূমিকভাবে বিভক্ত হয়, তাই খুব ছোট মডেলিন হয়)।
টি ভেরন

আবার - " সংক্ষেপে, আপনি সাময়িক বার্তাগুলির জন্য উদ্দিষ্ট অঞ্চলটি ব্যবহার করতে চান তবে আপনি চান না যে সেই অঞ্চলটি আবার ব্যবহার করার সাথে সাথে আপনার বার্তাগুলি অদৃশ্য হয়ে যাবে " " আপনি চাইলে messageবা এর সাথে টাইমার ব্যবহার করুন post-command-hook। তবে অদৃশ্য হওয়া / ওভাররাইটিংয়ের অপরিহার্য সমস্যাটি এর মাথাটি মাঝে মাঝে ফিরে আসবে কারণ আপনি অস্থায়ী হতে চান না এমন কোনও কিছুর জন্য আপনি একটি অস্থায়ী প্রদর্শন অঞ্চল ব্যবহার করার চেষ্টা করছেন।
ড্র হয়েছে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.