ফোকাস প্রাপ্ত হলে দুর্দান্ত ক্লায়েন্টকে বাড়ানোর সিগন্যাল দুর্দান্ত w


13

আমি আমার ইমাস চালু করার workerসাথে সাথে একটি ট্যাগ চালাচ্ছি server-start। আমার কাছে একটি ফাইল ম্যানেজার অন্য কোথাও খোলা আছে (উদাহরণস্বরূপ অন্য মনিটর) এবং আমি যখন এটি সহ একটি পাঠ্য ফাইল খুলি তখন emacsclientসফলভাবে ইম্যাকগুলিতে খোলে কিন্তু এতে স্যুইচ হয় না এবং এটি উত্থাপিত হয় না।

আমি যা খুঁজছি তা হল একটি ক্লায়েন্ট নির্দিষ্ট সংকেত rc.lua। কিছুটা এইরকম:

client.add_signal("focus", function(c) c:raise() end)

আমি এটি কেবল ইম্যাক সুনির্দিষ্ট হতে চাই। এবং workerএকই সাথে ট্যাগে স্যুইচ করুন । বিকল্পভাবে আমি এটি ইমাস রুল কলব্যাক থেকে করতে পারি?

কোন ধারনা? :)


1
কেউ কি আর পার হয় নি?
প্ল্যাটফর্ম

উত্তর:


0

আমি একই জিনিসটি চেয়েছিলাম এবং আপনার ইমাস কলব্যাক সম্পর্কে ধারণাটি অবশেষে কাজ করেছে। আমি এটি অসাধারণরূপে পরীক্ষা করে দেখিনি, তবে আমি dwm ব্যবহার করছি, এবং আমি মনে করি এটি কাজ করার জন্য তারা যথেষ্ট অনুরূপ।

এটি ইম্যাকগুলিতে কলব্যাক ফাংশন:

(defun raiseme ()
  (x-send-client-message
   nil                ; DISPLAY - nil is selected frame
   0                  ; DEST - 0 is root window of display
   nil                ; FROM - nil is selected frame
   "_NET_ACTIVE_WINDOW"    ; MESSAGE-TYPE - name of an Atom as a string
   32                 ; FORMAT  - size of the values in bits
   '(1 "_NET_WM_USER_TIME" 0) ; VALUES
   )
  )

কলব্যাক আহ্বান করার বিভিন্ন উপায় রয়েছে। সরলতা এবং নমনীয়তার জন্য, আমি একটি শেল ওরফে বেছে নিয়েছি যা কলব্যাক এবং তারপরে নিয়মিত ইমল্যাক্লিয়েন্টকে ডাকবে:

$ alias edi
alias edi='emacsclient -e "(raiseme)"; emacsclient -n'

আশা করি এটি এখনও কার্যকর হবে;)

বার্তা প্রকার এবং মান সম্পর্কে আরও রেফারেন্সের জন্য উইন্ডো ম্যানেজারের ইঙ্গিতগুলি দেখুন

এই বার্তাটি দুর্দান্তভাবে পরিচালনা করার জন্য, মনে হচ্ছে এই ইভেন্টটি পরিচালনা করেছে is উত্স কোড এখানে

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