Ärgerliches Autornamen in Guake


13

Ich liebe Guake-Dropdown-Terminal, aber es hat ein nerviges Problem. Wenn ich viele Registerkarten verwende, hasse ich es, wenn die Registerkartennamen jedes Mal umbenannt werden, wenn ich einen Befehl ausführe oder in einer von ihnen navigiere. Ich möchte jede Registerkarte umbenennen und den Namen in allen Sitzungen beibehalten. Wenn ich beispielsweise Midnight Commander verwende und einen Ordner mit langen Pfaden eingebe, wird die Registerkarte erweitert und es ist schrecklich. Ich sehe den Registerkartennamen, mc [user@machine_name]:/weird/long/infinite/pathwenn ich zum /weird/long/infinite/pathOrdner navigiere .

Kann ich für jede Registerkarte immer den gleichen Namen haben, auch wenn ich sie manuell umbenenne?

Antworten:


18

Lauf einfach

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

und starten Sie Ihr Terminal neu,

kinderleicht (3.14)


8

Ich habe einen Weg gefunden, das nervige Umbenennen zu deaktivieren. Ich fand in meinem Guake-Python-Skript (in Version 0.4.3-3) in den Zeilen 996 bis 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())

Wie das Skript zeigt, /general/use_vte_titlesverhindert key die automatische Benennung. Es ist so, dass Guake GConf verwendet, um seine Optionen zu konfigurieren ( Erklärung ). Ich musste das gconf-editor-Paket installieren , um die ausgeführten Guake-Optionen zu bearbeiten sudo apt-get install gconf-editor. Dann habe ich ausgeführt gconf-editor, ich habe nach einem /apps/guake/generalnicht markierten use_vte_titlesSchlüssel gesucht . Editor geschlossen Beim nächsten Ausführen von Guake war die automatische Benennungsfunktion deaktiviert.

Jetzt sind alle Registerkarten benannt, Terminalund wenn ich eine umbenenne, werden trotzdem alle Sitzungen mit demselben Namen benannt. Es wäre hilfreich, diesen Schlüssel in den Guake-Einstellungsdialog aufzunehmen. Aber diese Lösung hat trotzdem funktioniert.


Kann man das gsettingsauf der Kommandozeile machen?
Qed

1
@qed sollte so funktionieren:gconftool --set /apps/guake/general/use_vte_titles --type boolean true
chsymann

4

In der Befehlszeile:

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

Es sollte einen Eintrag geben, der ungefähr so ​​aussieht:

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

Ändern Sie es einfach in:

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

Speichern Sie die Datei und starten Sie guake neu.


1

Kürzen Sie einfach den Terminaltitel. Der Algorithmus ist in definiert .bashrc, der Terminal-Titel wird von Guake respektiert, wie Sie bemerkt haben:

Meine .bashrcenthält Folgendes:

# 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

Der Hostname wird nicht mehr angezeigt, und nur die erste und die letzte Pfadkomponente werden angezeigt:

$HOME -> ~

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

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

Bei dieser Einstellung sind die Registerkarten schmal genug, enthalten aber dennoch nützliche Informationen.

Siehe auch:

/programming//q/3497885/946850

/unix//q/26844/19205


Es ist eine gute Option, aber meine Frage war 'Kann ich für jede Registerkarte immer den gleichen Namen haben, auch wenn ich sie manuell umbenenne?'. Es kann mit meinem Ansatz erreicht werden.
Abmeldung am

0

Ja, ich hatte auch dieses Problem und bin so überrascht, dass es in den neuesten Guake-Versionen immer noch vorkommt. In der neuesten Version gibt es meines Erachtens eine Option, die Terminals als zu bezeichnenTerminal 1 , Terminal 2etc , die nicht viel hilft.

In den letzten Jahren habe ich ein einfaches Skript in meinem verwendet .zshrc(ich verwende Zsh-Terminal, aber Sie können etwas Ähnliches in Bash anwenden).

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

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

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

Im Wesentlichen überwacht dies jede Verzeichnisänderung (durch chpwd) und wenn a.guakerc Datei gefunden wird, wird sie ausgeführt. In dieser Datei können Sie den Guake-Titel und viele andere Dinge einstellen.

Wenn keine .guakercDatei gefunden wird (der häufigste Fall), wird lediglich der Ordnername als Terminalname festgelegt. Wenn Sie sich in einem Ordner mit dem Namen befinden /home/username/Development/social-app, wird das Terminal in umbenannt social-app.

Ich hoffe es hilft!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.