LINUX.ORG.RU

uim-fep. Можешь посмотреть у BSDшников, как они туда русский прикручивали.

x3al ★★★★★
()

лучше всего - с клава с лампочками ;)

drBatty ★★
()
Ответ на: комментарий от megabaks

> хотеть приветсвие типа «megabaks@desktop $PWD [раскладко]»$

Оно же будет реагировать на переключение только после «Enter».

Lumi ★★★★★
()
Ответ на: комментарий от Lumi

Оно же будет реагировать на переключение только после «Enter».

а по Enter`у и переключать :)

MKuznetsov ★★★★★
()

помню во времена доса keyrus рисовал рамку когда переключался на русский

guilder
()
Ответ на: комментарий от megabaks

Не показывает совсем или только в другом шелле?

YAR ★★★★★
()
Ответ на: комментарий от megabaks

>дык вот с раскладкой гемор
Да нет его.
aur/skb 0.3-1 (31)
A simple keyboard layout indicator. Too simple, really. It prints the name of layout to its output, nothing more.
Только ТС это не поможет, оно иксовое.

x3al ★★★★★
()
Ответ на: комментарий от x3al

тупо скопипастил и...

014338 USA x@3 ~ $dfgdfg
bash: dfgdfg: команда не найдена
014338 USA x@3 ~ $вапвапв
bash: вапвапв: команда не найдена
014338 USA x@3 ~ $

megabaks ★★★★
()
Ответ на: комментарий от x3al

Собственно, значащего там — `skb <whatever>`

x3al ★★★★★
()
Ответ на: комментарий от megabaks

Пара десятков хардлинков и проблема станет неактуальной. Жалко, опции так легко не перевести.

shoewreck
()
Ответ на: комментарий от x3al

А не работало оно потому, что баш выполнил все `` и потом сделал PS1 статической строкой. Доказано таймштампами.
Только одинарные кавычки (либо тотальный эскейпинг) спасут от подобного.

x3al ★★★★★
()
Ответ на: комментарий от x3al

пока сделал так

export PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w `[ \`skb 1\` = Rus ] && echo "\[\e[1;31m\]RUS\[\e[0m\]"``[ \`skb 1\` = USA ] && echo "\[\e[01;32m\]USA\[\e[0m\]"` \$\[\033[00m\] '
ща скрипт допилю и тогда будет риалтайм раскладка :р

megabaks ★★★★
()

Народ, вы либо трусики..., либо крестик... Вы хотите быть крутыми перцами, работающими в консоли - при этом вам подавай свистелки из полноценного десктопа. Предвижу вопрос о реализации compiz-а при помощи asciiart-а

svu ★★★★★
()
Ответ на: комментарий от megabaks

>риалтайм
Не стоит. В zsh оно, кажется, возможно с некоторой магией, но багнуто (затирает результат echo -n при обновлении, к примеру). В bash всё проще, там оно невозможно.
Для постоянных обновлений лучше статусбар WM/screen/tmux'а.

x3al ★★★★★
()
Ответ на: комментарий от x3al

вот те раз :3
умвр, а у него невозможно - WTF?
костыль, да - но работает
ща вот спьяну не пойму - где я туплю с раскраской текста...

megabaks ★★★★
()
Ответ на: комментарий от megabaks
#!/bin/bash
Echo() {
    if [ -w $OUT_TTY ]
    then echo -en $@ >$OUT_TTY || kill $$
    else kill $$
    fi
}
 
clock_init() {
    # global
    OUT_TTY=$1
    ROWS=$3
    COLS=$(( $(($4))/2 - 15 ))
 
    # below may be fanything
    STRNUM=$((9 + 1))
    i=1
}
 
# Arguments:
# $1 - tty; $2 - delay, for slow connections; $3 - rows; $4 - cols;
term_xterm_clock_run() {
    # common init
    clock_init $@
    # inf loop
    while [ 1 ]
    do
	# handling of resizing of xterm
	SIZE=($(stty --file $OUT_TTY size))
	if [ $ROWS -ne $(( ${SIZE[0]} + 1)) ]
	then
	    ROWS=${SIZE[0]}
	    # set tty
	    stty --file $OUT_TTY rows $(( $ROWS - 1 ))
	    # finalize tty
	    Echo "\E[1;$(( $ROWS - 1 ))r"
	fi
 
	# atomic execution of output
	D=$(skb 1)
        Echo "\E7\E[1;32m\E[$ROWS;$(($COLS))H[$D]\E8"
sleep 0.5
    done
}
 
##** main() **## 
# if not forked
if [ -z $4 ]
then 
    # initial
    OUT_TTY=$(tty)
    SIZE=($(stty size))
    ROWS=${SIZE[0]}
    COLS=${SIZE[1]}
 
    # delay is a digit, integer or real
    if [ -z $1 ]
    then DELAY=1
    else
        if [ "$(echo $1 | sed s/\[\.0123456789\]//g)" ] 
        then
            DELAY=1
        else
            DELAY=$1
        fi
    fi
 
    if [ $TERM = linux ]
    then
	# fork
	$0 $OUT_TTY $DELAY $ROWS $COLS 2>&1 1>/dev/null &
    else
	# setting up tty with rows--
	stty rows $(( $ROWS - 1 ))
	# finalize setting up tty, here's setting scrolling region
	echo -en "$(( $ROWS - 1 ))"
	tput clear
	# fork
	$0 $OUT_TTY $DELAY $ROWS $COLS 2>&1 1>/dev/null &
#debug:	$0 $OUT_TTY $DELAY $ROWS $COLS
    fi
else 
#do the job
	term_xterm_clock_run $@
fi

где я туплю?

megabaks ★★★★
()
Ответ на: комментарий от megabaks

>умвр
Оставляет тонну артефактов после каждого неЪ-cli приложения :3
Ну и не в промте, что неспортивно. Тут уже проще сделать REPL через read и eval для шелла.

x3al ★★★★★
()
Ответ на: комментарий от megabaks

Нет, ну если это нормально…
/me сходит с ума и задумывается, хватит ли read, или стоит запустить bash под rlwrap для подобного :3

x3al ★★★★★
()
Ответ на: комментарий от megabaks

This. Будет мешать копипастить/читать от первой полноэкранной команды до первого clear.

Хм. А ведь с rlwrap я могу сделать себе шелл из bashbusybox, perl и guile в одном, да ещё и с любыми наворотами вроде этого…

x3al ★★★★★
()
Ответ на: комментарий от x3al

ну это куда лучше чем в холостую(потенциально) кнопать вводом

megabaks ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.