การเปลี่ยนชื่ออัตโนมัติที่น่ารำคาญใน Guake


13

ฉันชอบ Guake terminal แบบหล่นลง แต่มันมีปัญหาที่น่ารำคาญ เมื่อฉันใช้แท็บหลายแท็บฉันเกลียดเมื่อชื่อแท็บเปลี่ยนชื่อทุกครั้งที่ฉันเรียกใช้คำสั่งหรือนำทางในหนึ่งในนั้น ฉันต้องการเปลี่ยนชื่อแท็บใด ๆ และคงชื่อไว้ในทุกเซสชัน ตัวอย่างเช่นเมื่อฉันใช้ Midnight Commander และฉันเข้าไปในโฟลเดอร์พา ธ ที่ยาวแท็บจะขยายและมันก็น่ากลัว ฉันเห็นชื่อแท็บmc [user@machine_name]:/weird/long/infinite/pathเมื่อฉันนำทางไปยัง/weird/long/infinite/pathโฟลเดอร์

ฉันสามารถใช้ชื่อเดียวกันกับแต่ละแท็บได้ตลอดเวลาแม้ว่าจะเปลี่ยนชื่อด้วยตนเองหรือไม่

คำตอบ:


18

เพิ่งวิ่ง

gconftool-2 --set /apps/guake/general/use_vte_titles --type boolean false

และรีสตาร์ทเครื่องของคุณ

ง่ายเหมือนพาย (3.14)


8

ฉันพบวิธีปิดใช้งานการเปลี่ยนชื่อที่น่ารำคาญ ฉันพบในสคริปต์ Pake guake ของฉัน (ในรุ่น 0.4.3-3) ในบรรทัดที่ 996 ถึง 1002:

def on_terminal_title_changed(self, vte, box):
    use_them = self.client.get_bool(KEY("/general/use_vte_titles"))
    if not use_them:
        return
    page = self.notebook.page_num(box)
    self.tabs.get_children()[page].set_label(vte.get_window_title())

ในขณะที่สคริปต์แสดงขึ้น/general/use_vte_titlesปุ่มจะป้องกันไม่ให้คุณสมบัติการเติมข้อมูลอัตโนมัติ Guake ใช้ GConf เพื่อกำหนดค่าตัวเลือกของเขา ( คำอธิบาย ) ฉันต้องติดตั้งแพ็คเกจ gconf-editorเพื่อแก้ไข Guake options ที่กำลังรันsudo apt-get install gconf-editorอยู่ จากนั้นฉันก็ดำเนินการgconf-editorฉันเรียกดู/apps/guake/generalและuse_vte_titlesคีย์ที่ไม่มีเครื่องหมาย ปิดเครื่องมือแก้ไข ครั้งต่อไปที่ฉันเรียกใช้งาน Guake คุณสมบัติการเปลี่ยนชื่ออัตโนมัติถูกปิดใช้งาน

ตอนนี้แท็บทั้งหมดมีชื่อTerminalและถ้าฉันเปลี่ยนชื่อมันก็ยังคงตั้งชื่อเซสชันทั้งหมดที่มีชื่อเดียวกัน การเพิ่มคีย์นี้ในกล่องโต้ตอบการกำหนดค่าของ Guake จะเป็นประโยชน์ แต่วิธีนี้ใช้ได้ผลอยู่ดี


เป็นไปได้ที่จะทำกับgsettingscommandline หรือไม่
qed

1
@qed ควรทำงานเช่นนั้น:gconftool --set /apps/guake/general/use_vte_titles --type boolean true
chsymann

4

บนบรรทัดคำสั่ง:

vim ~ / .gconf / apps / guake / general /% gconf.xml

ควรมีรายการอะไรเช่นนี้:

<entry name="use_vte_titles" mtime="1404143215" type="bool" value="true"/>

เพียงเปลี่ยนเป็น:

<entry name="use_vte_titles" mtime="1404143215" type="bool" value="false"/>

บันทึกไฟล์และรีสตาร์ท guake


1

พิจารณาย่อชื่อเทอร์มินัลให้สั้นลง อัลกอริทึมถูกกำหนดไว้ใน.bashrcชื่อเทอร์มินัลจะได้รับการเคารพจาก Guake ตามที่คุณสังเกตเห็น:

ฉัน.bashrcมีดังต่อไปนี้:

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PROMPT_COMMAND='PS1X=$(pwd | sed -r "s-^$HOME/--;s-^$HOME-~-;s-^(.[^/]*)/.*/-\1/.../-")'
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}"'$PS1X'"\a\]$PS1"
    ;;
*)
    ;;
esac

ชื่อโฮสต์จะไม่ปรากฏอีกต่อไปและจะแสดงเฉพาะส่วนประกอบของพา ธ แรกและสุดท้าย:

$HOME -> ~

$HOME/some/deep/sub/dir -> some/.../dir

/usr/local/deeply/inside/there -> /usr/.../there

ด้วยการตั้งค่านี้ปุ่มแท็บแคบพอ แต่ยังคงมีข้อมูลที่เป็นประโยชน์

ดูสิ่งนี้ด้วย:

/programming//q/3497885/946850

/unix//q/26844/19205


เป็นตัวเลือกที่ดี แต่คำถามของฉันคือ 'ฉันจะมีชื่อเดิมทุกแท็บได้ตลอดเวลาแม้จะเปลี่ยนชื่อด้วยตนเองหรือไม่' มันสามารถทำได้ด้วยวิธีการของฉัน
ออกจากระบบ

0

ใช่ฉันมีปัญหานี้เช่นกันและฉันก็ประหลาดใจมากที่มันยังคงปรากฏในรุ่น Guake ล่าสุด ในรุ่นล่าสุดผมคิดว่ามีตัวเลือกในการตั้งชื่ออาคารเป็นTerminal 1, Terminal 2ฯลฯ ซึ่งไม่ได้ช่วยมากอย่างใดอย่างหนึ่ง

ในช่วงไม่กี่ปีที่ผ่านมาฉันใช้สคริปต์แบบธรรมดาในของฉัน.zshrc(ฉันใช้เทอร์มินัล Zsh แต่คุณสามารถใช้สิ่งที่คล้ายกันใน Bash)

function chpwd {
 if [ -e ".guakerc" ]; then
   setupguake
 else
    guake -r ${PWD##*/}
 fi
}

function setupguake() {
  . $(pwd)/.guakerc

  if ((${+name})); then
    guake -r ${name}
  fi
}

สิ่งสำคัญคือสิ่งนี้มันจะตรวจสอบการเปลี่ยนแปลงไดเรกทอรีใด ๆ (ผ่านchpwd) และหาก.guakercไฟล์พบว่ามันทำงาน ภายในไฟล์นั้นคุณสามารถตั้งค่าชื่อ guake และอื่น ๆ อีกมากมาย

หากไม่.guakercพบไฟล์ (ตัวพิมพ์ใหญ่ที่สุด) ก็จะตั้งชื่อโฟลเดอร์เป็นชื่อเทอร์มินัล ดังนั้นถ้าคุณอยู่ในโฟลเดอร์ชื่อมันจะเปลี่ยนชื่อเป็นสถานี/home/username/Development/social-appsocial-app

หวังว่ามันจะช่วย!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.