From 847e2e9245266885d4bcdc7a22295172dc2dc5cb Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Fri, 19 Jun 2020 16:52:30 +0300 Subject: [PATCH] screen: Allow 2 different sessions with KOI8-R and UTF-8 locales --- .fvwm/main.m4 | 20 ++++++++++---------- bin/screen-defsession | 11 +++++++++++ 2 files changed, 21 insertions(+), 10 deletions(-) create mode 100755 bin/screen-defsession diff --git a/.fvwm/main.m4 b/.fvwm/main.m4 index eefa606..fcbede0 100644 --- a/.fvwm/main.m4 +++ b/.fvwm/main.m4 @@ -103,7 +103,7 @@ define(`REMOTE_HOST_TERM_TITLE', `$1 -title $3 -n $3 -e SSH $2') define(`REMOTE_HOST_KOI8', REMOTE_HOST_TERM_TITLE(TERM_KOI8, $1, $2)) -define(`REMOTE_SCREEN', `-t $1 exec screen -xRR -S default') +define(`REMOTE_SCREEN_KOI8', `-t $1 exec screen -xRR -S default-koi8') define(`REMOTE_HOST_KOI8_MENU', "$2 (koi8)" REMOTE_HOST_KOI8($1, $2)) @@ -597,7 +597,7 @@ AddToFunc AudioPlayer I GotoDeskAndPage 0 1 1 DestroyFunc Term-Iskra AddToFunc Term-Iskra I GotoDeskAndPage 1 1 2 -+ I REMOTE_HOST_KOI8(REMOTE_SCREEN(iskra-aviel.phdru.name), iskra) ++ I REMOTE_HOST_KOI8(REMOTE_SCREEN_KOI8(iskra-aviel.phdru.name), iskra) DestroyFunc Term-Iskra-Big AddToFunc Term-Iskra-Big I GotoDeskAndPage 1 1 2 @@ -605,7 +605,7 @@ AddToFunc Term-Iskra-Big I GotoDeskAndPage 1 1 2 DestroyFunc Term-Oper AddToFunc Term-Oper I GotoDeskAndPage 1 1 2 -+ I REMOTE_HOST_KOI8_BOTRT(REMOTE_SCREEN(oper.med.ru), oper) ++ I REMOTE_HOST_KOI8_BOTRT(REMOTE_SCREEN_KOI8(oper.med.ru), oper) DestroyFunc Term-Oper-Big AddToFunc Term-Oper-Big I GotoDeskAndPage 1 1 2 @@ -613,7 +613,7 @@ AddToFunc Term-Oper-Big I GotoDeskAndPage 1 1 2 DestroyFunc Term-Phdru AddToFunc Term-Phdru I GotoDeskAndPage 1 0 1 -+ I REMOTE_HOST_KOI8(REMOTE_SCREEN(phdru.name), phdru.name) ++ I REMOTE_HOST_KOI8(REMOTE_SCREEN_KOI8(phdru.name), phdru.name) DestroyFunc Term-Phdru-Big AddToFunc Term-Phdru-Big I GotoDeskAndPage 1 0 1 @@ -719,15 +719,15 @@ AddToMenu TermColors "Term Colors" Title + "Term: white/black" TERM_KOI8 -fg white -cr white -bg black AddToMenu Systems "Systems" Title -+ REMOTE_HOST_KOI8_MENU(REMOTE_SCREEN(iskra-aviel.phdru.name), iskra) ++ REMOTE_HOST_KOI8_MENU(REMOTE_SCREEN_KOI8(iskra-aviel.phdru.name), iskra) + REMOTE_HOST_UTF8_BOTLT_MENU(iskra-aviel.phdru.name, iskra) + REMOTE_HOST_KOI8_BIG_MENU(iskra-aviel.phdru.name, ISKRA) + "" Nop -+ REMOTE_HOST_KOI8_BOTRT_MENU(REMOTE_SCREEN(oper.med.ru), oper) ++ REMOTE_HOST_KOI8_BOTRT_MENU(REMOTE_SCREEN_KOI8(oper.med.ru), oper) + REMOTE_HOST_UTF8_BOTRT_MENU(oper.med.ru, oper) + REMOTE_HOST_KOI8_BIG_MENU(oper.med.ru, OPER) + "" Nop -+ REMOTE_HOST_KOI8_MENU(REMOTE_SCREEN(phdru.name), phdru) ++ REMOTE_HOST_KOI8_MENU(REMOTE_SCREEN_KOI8(phdru.name), phdru) + REMOTE_HOST_UTF8_BOTLT_MENU(phdru.name, phdru) + REMOTE_HOST_KOI8_BIG_MENU(phdru.name, PHDRU) @@ -925,9 +925,9 @@ pushdef(`TERM_KOI8', `Exec "TERM" LC_CTYPE=ru_RU.KOI8-R exec TERM') pushdef(`TERM_RU_UTF8', `Exec "URxvt" LC_CTYPE=ru_RU.UTF-8 exec TERM -name URxvt') *FvwmButtons: (Title Term, Icon rterm2.xpm, Action TERM_KOI8) *FvwmButtons: (Title UTF-8, Icon rterm2.xpm, Action TERM_RU_UTF8) -*FvwmButtons: (Title phdru, Icon xterm-sgi.xpm, Action REMOTE_HOST_KOI8(REMOTE_SCREEN(-D 1080 phdru.name), phdru.name)) -*FvwmButtons: (Title iskra, Icon xterm-sgi.xpm, Action REMOTE_HOST_KOI8(REMOTE_SCREEN(iskra-aviel.phdru.name), iskra)) -*FvwmButtons: (Title oper, Icon xterm-linux.xpm, Action REMOTE_HOST_KOI8_BOTRT(REMOTE_SCREEN(oper.med.ru), oper)) +*FvwmButtons: (Title phdru, Icon xterm-sgi.xpm, Action REMOTE_HOST_KOI8(REMOTE_SCREEN_KOI8(-D 1080 phdru.name), phdru.name)) +*FvwmButtons: (Title iskra, Icon xterm-sgi.xpm, Action REMOTE_HOST_KOI8(REMOTE_SCREEN_KOI8(iskra-aviel.phdru.name), iskra)) +*FvwmButtons: (Title oper, Icon xterm-linux.xpm, Action REMOTE_HOST_KOI8_BOTRT(REMOTE_SCREEN_KOI8(oper.med.ru), oper)) popdef(`TERM_KOI8', `TERM_RU_UTF8') *FvwmButtons: (Title Wallpaper, Icon find1.xpm, Action Exec "gxmessage" "$HOME"/current/projects/xsetbg/print-filename.py | text-wrap.py -w TEXT_WIDTH -s | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -) diff --git a/bin/screen-defsession b/bin/screen-defsession new file mode 100755 index 0000000..aeb5a13 --- /dev/null +++ b/bin/screen-defsession @@ -0,0 +1,11 @@ +#! /bin/sh + +case "$LC_CTYPE" in + *UTF-8) enc_suffix=utf8 + ;; + + *) enc_suffix=koi8 + ;; +esac + +exec screen -xRR -S default-$enc_suffix -- 2.39.5