Przekaż bieżący numer okna ekranu GNU do polecenia wstecz

2

czy istnieje sposób na przesłanie / przekazanie bieżącego numeru okna do komendy backtick na ekranie GNU? Czy też musiałbym użyć innego terminala?

Dziękuję Ci.

Edytować:

To jest mój backtick:

backtick 0 2 2 $HOME/bin/status/status

Wewnątrz mojej linii „hardstatus string” wstawiony jest backtick:

hardstatus string "... %{=b dw}[ %{-b dc}%0`%{=b dw} ]"

Wewnątrz skryptu statusu (a dokładniej w uruchamianych skryptach $HOME/bin/status/status) chciałbym wiedzieć, które okno jest obecnie wyświetlane.

exic
źródło
Proszę opracować. Co chciałbyś zrobić z numerem ekranu?
Doug Harris

Odpowiedzi:

2

W sekcji środowiska strony podręcznika ekranowego WINDOWzmienna środowiskowa zawiera „Numer okna okna (w czasie tworzenia)”. Pamiętaj, że nie będzie to możliwe, jeśli znajdziesz się su -w oknie (lub w inny sposób usuniesz środowisko użytkownika).


Jeśli próbujesz dodać wizualny wskaźnik bieżącego okna, wstawiając numer okna w monicie powłoki, czy wiesz, że może to pokazać linia stanu na dole ekranu?

Oto fragment mojego pliku .screenrc, który konfiguruje to dla mnie:

# An alternative hardstatus to display a bar at the bottom listing the
# window names and highlighting the current window name in blue. 
hardstatus on
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %l %m/%d %c "

Ciąg ucieka sekcja strony człowiek idzie do bardziej szczegółowo o tym, co można umieścić w linii statusu.

Doug Harris
źródło
Dzięki za wskazówkę środowiskową. Niestety WINDOW jest ustawiony tylko dla odpowiedniego terminala, skrypt backtick ma oryginalne środowisko. Przekazywanie% n jako argumentu w linii definicji backtick również nie działa.
exic
Czy możesz wyjaśnić, co próbujesz osiągnąć?
Doug Harris
Chciałbym zrobić coś takiego: jeśli bieżący numer okna wynosi 1, usuń plik dziennika.
exic
1
Coś w tym dziwnego. Uważam to screenza zwykłe narzędzie do prezentacji - nie jest ściśle zintegrowane z funkcjonalnością systemu. Usuwając plik dziennika na podstawie aktualnie oglądanego ekranu, łączysz oba te elementy. Jeśli rejestrujesz dane wyjściowe polecenia uruchomionego na ekranie, możesz albo przekierować dane wyjściowe do pliku (opcjonalnie używając tee, abyś mógł także oglądać) lub możesz użyć logpolecenia screen, aby przechwycić dane wyjściowe.
Doug Harris