আইটিআরএম 2 উইন্ডো এবং ট্যাব শিরোনাম zsh এ পরিবর্তন করুন


50

আমি টার্মিনাল সেশনের উইন্ডো ট্যাবগুলি লেবেল করতে চাই। আমি ওএসএক্সে ইটার্ম 2 এর জ্যাসেল ব্যবহার করছি। টার্মিনালে কী উইন্ডো ট্যাবটির গতিময় পরিবর্তন করা সম্ভব?

উত্তর:


48

zshআইটিার্ম 2 এর উইন্ডো শিরোনামটি সেট করতে আপনি নিম্নলিখিতটি প্রবেশ করতে পারেন :

echo -ne "\e]1;this is the title\a"

আপনি স্বয়ংক্রিয় বর্তমান সময় বা কাজ ডিরেক্টরি উদাঃ সন্নিবেশ করতে চান, সম্পাদনা আপনার zshশিরোনাম সেট করতে কনফিগারেশন ফাইল precmd()যেমন ফাংশন $PWD

echo -ne "\e]1;$PWD\a"

আপনি বিভাগে precmdফাংশন সম্পর্কে পড়তে পারেন ।man zshmiscSPECIAL FUNCTIONS

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


3
আমি যখন ইকো -ne "\ ই] 1 কমান্ডটি কার্যকর করি তখন এটি শিরোনাম \ a" ট্যাব শিরোনাম পরিবর্তন হয় না। আমি এটির 2 তে পরিবর্তন করতে হবে কি একটি সেটিং আছে?
bneil

15
এটা বের করে আনা। আমাকে এটির-> পছন্দসমূহ-> উপস্থিতি বিভাগে উইন্ডো এবং ট্যাব শিরোনামের জন্য সমস্ত অপশন নির্বাচন করতে হবে। এবং .zshrc- এ আমাকে কোনও অসুবিধা / এক্সপোর্ট যুক্ত করতে হবে DISABLE_AUTO_TITLE = "সত্য" ধন্যবাদ @ ড্যানিয়েল বেক
বেনিল

3
আপনারও সেট করা দরকার Profiles > Terminal > Terminal Emulation > Terminal may set tab/window title
ভান 8

1
এটি আইটার্মের সর্বশেষতম সংস্করণে (আমার পক্ষে কমপক্ষে) কাজ করে না (৩.৩.০)
আইকনোক্লাস্ট

আর কাজ আমার জন্য এর সর্বশেষ স্থিতিশীল সংস্করণ আছে iTerm2(3.2.9)
jalanb

45

আমার জন্য কী কাজ করে:

echo -e "\033];this is the title\007"

আপনি যদি ম্যাক ওএসএক্স এবং আইটার্ম ব্যবহার করেন তবে আইটার্ম 2 ::

  • আইটার্ম → পছন্দসমূহ → উপস্থিতি → উইন্ডো এবং ট্যাব শিরোনাম all সমস্তটি আনচেক করুন

আপনি যদি zsh ব্যবহার করেন তবে আপনার সেটিংগুলি সম্পাদনা করার প্রয়োজন হতে পারে। আপনার সেটিংস সাধারণত ফাইলটিতে থাকে ~/.zshrc। এই লাইনটি বিদ্যমান রয়েছে তা নিশ্চিত করতে আপনি আপনার সেটিংস যুক্ত করতে বা সম্পাদনা করতে চান:

DISABLE_AUTO_TITLE="true"

2
এটি এখনও 02/28/2018 পর্যন্ত কাজ করে।
বিক্রয়

38

আইটিরম ব্যবহারের অন্যতম সুবিধা হ'ল উইন্ডো শিরোনাম এবং ট্যাব শিরোনাম আলাদাভাবে স্থাপনের সম্ভাবনা: ট্যাব ও উইন্ডো শিরোনাম পৃথকভাবে ব্যবহারের উদাহরণ

# $1 = type; 0 - both, 1 - tab, 2 - title
# rest = text
setTerminalText () {
    # echo works in bash & zsh
    local mode=$1 ; shift
    echo -ne "\033]$mode;$@\007"
}
stt_both  () { setTerminalText 0 $@; }
stt_tab   () { setTerminalText 1 $@; }
stt_title () { setTerminalText 2 $@; }

আপনি কী উইন্ডোতে সংযুক্ত আছেন কী হোস্ট এবং প্রতিটি ট্যাবের উইন্ডো শিরোনাম ব্যবহারকারী এবং সিডাব্লুডি প্রদর্শন করে তা আপনি তত্ক্ষণাত্ দেখতে পারবেন।


2
আমি কেবল লক্ষ্য করেছি যে ওএস এক্স লায়নটির টার্মিনাল.এপ সংস্করণ এটিও সমর্থন করে।
অরেঞ্জনহেইন

নির্বোধ প্রশ্ন: আপনি এই কোড যুক্ত করুন .bashrc, তাই না?
qazwsx

এছাড়াও প্রদর্শিত হবে (আইটিআরএম 2 বিল্ড 1.0.0.20140629) আপনি উইন্ডো শিরোনাম পরিবর্তন না করা পর্যন্ত ... এটি ট্যাব শিরোনামটিকে ট্র্যাক করে, যাই হোক না কেন। আমি নিশ্চিত যে এটি একটি সেটিং। একবার উইন্ডো শিরোনাম পরিবর্তন করা হয় (2) এটি আর ট্যাব শিরোনাম ট্র্যাক করে না।
মেই

আমি DISABLE_AUTO_TITLE="true"সমস্যাটি স্থির করে এমন লাইনটি অন্তর্ভুক্ত করার জন্য উপরের ফাংশনটি সংশোধন করেছি এবং আমি যদি শিরোনামটি সেট না করি তবে আমি স্বয়ংক্রিয় শিরোনাম বৈশিষ্ট্যটি
পেয়েছি

5

precmdকৌশল করে। যাইহোক, কিছু ওহ-মাই-জেডএসএস থিমগুলি উইন্ডো শিরোনামের সাথে ঘিরে ফেলছে। PR_TITLEBARএটি ঠিক করতে খালি স্ট্রিংয়ে সেট করুন ।

set-window-title() {
  # /Users/clessg/projects/dotfiles -> ~/p/dotfiles
  window_title="\e]0;${${PWD/#"$HOME"/~}/projects/p}\a"
  echo -ne "$window_title"
}

PR_TITLEBAR=''
set-window-title
add-zsh-hook precmd set-window-title

আমি পছন্দগুলি -> উপস্থিতিতে আইটার্ম 2 এর ট্যাব সেটিংসের সাথে ঘুরে দেখার পরামর্শ দেব।



2

উত্তরের কোনওটিই আমার পক্ষে কাজ করছে বলে মনে হয়নি, সম্ভবত এটি আইটেম 2 সংস্করণে (3.3.3)।

আমি এটি খুঁজে পেয়েছি: https://gist.github.com/phette23/5270658#gistcomment-3020766

মূলত, আপনি অন্যান্য সমস্ত উত্তরে যা বলা হয় তা করতে পারেন, তবে সেটও করতে হবে Preferences > Profiles > General > Title -> Name (Job)

এটি আমার পক্ষে কাজ করেছে।


এটি Generalট্যাবের অধীনে নয় , এটি Profilesট্যাবের আওতায় রয়েছে
ফালমারি

ঠিক। আমি মিস > Profilesঅন্যতম। আমার খারাপ। আপডেট করা হয়েছে।
নুনো গোনালভেস

1

গৃহীত উত্তরটি আমার জন্য দীর্ঘকাল ধরে কাজ করেছে তবে এখন আইটার্ম 2 এর সর্বশেষতম সংস্করণে ভেঙে গেছে। পাই আমি পাইথন এপিআই সক্ষম করে একটি স্ক্রিপ্ট তৈরি করলাম যা ট্যাবটির নামটি সেট করে:

#!/usr/bin/env python3.7
import argparse

import iterm2

def get_args():
    parser = argparse.ArgumentParser(description='Set the tab name')
    parser.add_argument('name')
    return parser.parse_args()

ARGS = get_args()

async def main(connection):
    app = await iterm2.async_get_app(connection)
    window = app.current_terminal_window
    if window is not None:
        tab = window.current_tab
        await tab.async_set_title(ARGS.name)
    else:
        # You can view this message in the script console.
        print("No current window")

iterm2.run_until_complete(main)

"ট্যাব_নাম.পি" হিসাবে সংরক্ষণ করা হয়েছে, তারপরে এতে আহবান করা হয়েছে:

~/Library/ApplicationSupport/iTerm2/iterm2env/versions/*/bin/python3 ~/Library/ApplicationSupport/iTerm2/Scripts/tab_name.py "new tab name"

এটি গৃহীত উত্তরের মতো প্রায় সুন্দর বা মার্জিত নয়, তবে এটি কার্যকর।


-2

আইটার্ম -> পছন্দসমূহ -> উপস্থিতি -> উইন্ডো এবং ট্যাব শিরোনাম -> চেক প্রোফাইল নাম বিকল্পটি চেক করুন


1
সুপার ব্যবহারকারীকে স্বাগতম! এই প্রশ্নোত্তর সাইটে আমরা লোকেরা জিজ্ঞাসা করা প্রশ্নগুলির ভাল উত্তর দেওয়ার চেষ্টা করি । একটি ভাল উত্তর লেখার অংশ প্রস্তাবিত সমাধানের প্রসঙ্গ সরবরাহ করে। দয়া করে আপনার উত্তরটি সম্পাদনা করুন এবং ব্যাখ্যা করুন যে আপনার সমাধান কেন কাজ করে এবং বিশেষত এটি কী করে।
ক্যাসার 1
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.