LINUX.ORG.RU

PROMPT


0

1

Решил похвастаться своими PROMPT-ами:

zsh:

[ "x$USER" = "xroot" ] && NAMECOLOR=red || NAMECOLOR=grey
PROMPT="%f%b

%F{$NAMECOLOR}%B[%n@%M] %F{green}%//%f%b
%F{$NAMECOLOR}%B# %f%b"

ash:

PS1='

\e[1;36m[\u@\h] \e[1;32m$PWD/\e[0m
\e[1;36m# \e[0m'

В них есть один неприятный косяк, но городить условие на проверку текущей директории не хочется, не настолько он меня задевает. Если подскажете, как исправить, не затронув внешний вид, буду благодарен.

>>> Просмотр (1280x800, 191 Kb)

★★★

Проверено: JB ()

>> Решил похвастаться своими PROMPT-ами

Не вижу ничего интересного.

>> В них есть один неприятный косяк

Какой? С первого взгляда не вижу. '~'?

GotF ★★★★★
()

Какой красивый попугайчик на обоине!

Linez
()
Ответ на: комментарий от tn1

>ШГ в терминале.

Не ШГ, хоть и дефолт. Вот на нетбуке в гноме 3 стало реальное ШГ в поле, в котором я сейчас пишу. BTW, в кедах с FF3 оно не ресайзится почему-то.

zsh(?), а у меня bash.

Зато у ТСа zsh.

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

> Не ШГ, хоть и дефолт.
4.2. В терминале всё ШГ, кроме terminus`а. +Заголовок(?) якуяка — ШГ^2.

В терминале всё ШГ, кроме terminus`а.

из-за этого настроил разные шрифты,цветовые темы в emacs cli и emacs-gtk.

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

>В терминале всё ШГ, кроме terminus`а

Ненавижу терминус.

+Заголовок(?) якуяка — ШГ^2.

Это во всех заголовках у меня такое ШГ. Так надо.

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

> Ненавижу терминус.

Ненавижу красивую консоль.

fxd.

Это во всех заголовках у меня такое ШГ.

УЖАС или попробуй WM без заголовка.

tn1
()
Ответ на: комментарий от aidaho

>Всё-таки ШГ.

На шрифт и цвет товарищей нет. По мне так красивый шрифт, даже названия не знаю.

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

>> Ненавижу красивую консоль.

fxd.

Красивая консоль не бывает в иксовом эмуляторе терминала.

попробуй WM без заголовка.

Зачем? Я могу шрифт в заголовке поменять, но такой я специально поставил.

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

Феерические ШГ. USE=«X» emerge dejavu, возможно layman -a lcd-filtering и патчи из archlinux/ubuntu

 cat ~/.fonts.conf 
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match target="font">
        <edit mode="assign" name="antialias">
            <bool>true</bool>
        </edit>
    </match>
    <match target="font">
        <edit mode="assign" name="rgba">
            <const>rgb</const>
        </edit>
    </match>
</fontconfig>
в ~/.fonts.conf(с этим можешь поиграться)
Xft.dpi: 96.0
Xft.antialias: true
Xft.rgba: rgb
в ~/.Xdefaults(с этим можешь поиграться)

tn1
()
Ответ на: комментарий от gentoo_root

Цвета в промте хорошие, но зачем там время и дата, которые не обновляются сами, да еще и дублируют трей?

Можно увидеть zshrc?

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

>USE=«X» emerge dejavu,

Стоит у меня такой. Это, наверное, он и есть. На моём мониторе мне нравится мой шрифт.

в ~/.fonts.conf

в ~/.Xdefaults

В кедах в настройках это есть =)

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

зачем там время и дата, которые не обновляются сами, да еще и дублируют трей?

В консоли других часов нет, другие часы только в KDE, а я не всегда в нём сижу. А обновить легко — return нажать всего-то. И ресурсы не хавают.

Можно увидеть zshrc?

В нём нет настроек промпта, они отдельно у меня. Если интересует сам промпт, то вот:

function precmd {
        # Set color variables
        setopt extended_glob prompt_subst

        autoload colors zsh/terminfo
        if [[ "$terminfo[colors]" -ge 8 ]]; then
                colors
        fi
        for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do
                eval PR_$color='%{$terminfo[bold]$fg[${(L)color}]%}'
                eval PR_LIGHT_$color='%{$fg[${(L)color}]%}'
                (( count = $count + 1 ))
        done
        PR_NO_COLOR="%{$terminfo[sgr0]%}"
        PR_HBAR="─"
        PR_ULCORNER="┌"
        PR_LLCORNER="└"
        PR_LRCORNER="┘"
        PR_URCORNER="┐"

        # Set the width of terminal
        (( TERMWIDTH = ${COLUMNS} - 1 ))

        # Truncate the path of current directory if it's too long
        PR_FILLBAR=""
        PR_PWDLEN=""

        PR_FREQ_RESULT=`grep "cpu MHz" /proc/cpuinfo | awk 'BEGIN { FS=": " } { print $2 }' | tr '\n' ' '`
        PR_ACPI_TEMP_RESULT='Thermal 0: ok, Unknown degrees C'
        if which acpi > /dev/null; then
                TEMP_ACPI_TEMP_RESULT=`acpi -t`
                [[ -n $TEMP_ACPI_TEMP_RESULT ]] && PR_ACPI_TEMP_RESULT=$TEMP_ACPI_TEMP_RESULT
        fi

        [[ -n $PR_ACPI_BAT_RESULT ]] && PR_ACPI_BAT='$PR_MAGENTA${PR_ACPI_BAT_RESULT[(w)4,(w)5]/\%/%%}$PR_LIGHT_BLUE:'
        [[ -n $PR_ACPI_TEMP_RESULT ]] && PR_ACPI_TEMP='$PR_RED${PR_ACPI_TEMP_RESULT[(w)4]} degrees C$PR_LIGHT_BLUE'
        [[ -n $PR_FREQ_RESULT ]] && PR_FREQ='$PR_CYAN$PR_FREQ_RESULT'

        promptsize=${#${(%):---(%n@%m:%l)-(${(e)PR_FREQ_RESULT}MHz)---()--}}
        pwdsize=${#${(%):-%~}}

        if [[ "$promptsize + $pwdsize" -gt $TERMWIDTH ]]; then
                (( PR_PWDLEN = $TERMWIDTH - $promptsize ))
        else
                PR_FILLBAR="\${(l.(($TERMWIDTH - ($promptsize+$pwdsize)))..${PR_HBAR}.)}"
        fi
}

MHZ='MHz'
PROMPT=$'$PR_SET_CHARSET$PR_CYAN$PR_ULCORNER$PR_BLUE$PR_HBAR($PR_GREEN%(!.${PR_RED}root.%n)$PR_GREEN@%m:%l$PR_BLUE)$PR_HBAR(${(e)PR_FREQ}$MHZ$PR_LIGHT_BLUE)$PR_BLUE$PR_HBAR$PR_CYAN$PR_HBAR${(e)PR_FILLBAR}$PR_BLUE$PR_HBAR($PR_MAGENTA%$PR_PWDLEN<...<%~%<<$PR_BLUE)$PR_HBAR$PR_CYAN$PR_URCORNER\n$PR_CYAN$PR_LLCORNER$PR_BLUE$PR_HBAR(%(?..$PR_LIGHT_RED%?$PR_BLUE:)$PR_YELLOW%D{%H:%M}$PR_LIGHT_BLUE:%(!.$PR_RED.$PR_WHITE)%#$PR_BLUE)$PR_HBAR$PR_CYAN_$PR_HBAR$PR_NO_COLOR '

# Right prompt
RPROMPT=' $PR_CYAN$PR_HBAR$PR_BLUE$PR_HBAR($PR_YELLOW%D{%a,%b%d}$PR_BLUE)$PR_HBAR$PR_CYAN$PR_LRCORNER$PR_NO_COLOR'

# Multi-line prompt
PS2='$PR_CYAN$PR_HBAR$PR_BLUE$PR_HBAR($PR_LIGHT_GREEN%_$PR_BLUE)$PR_HBAR$PR_CYAN$PR_HBAR$PR_NO_COLOR '

gentoo_root ★★★★★
()

Я просто для рута пишу крупными красными буквами ROOT SESSION, ну а в остальном - стандартно (пользователь, директория, дата и время).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от geekless

А у меня, например, оформления окон нет вообще (т.к. оно не нужно и занимает лишнюю полезную площадь) =)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от geekless

Вы решительно ничего не понимаете в промптах. :) Промпт — ничто, информативные сообщения в тайтлбаре терминала — всё: http://make-linux.blogspot.com/2011/03/prompt-bashrc.html

1. Не всегда есть тайтлбар. 2. В тайтлбаре не сохранишь историю промптов, которая зачастую очень важна.

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

> А у меня, например, оформления окон нет вообще (т.к. оно не нужно и занимает лишнюю полезную площадь) =)

У меня тайтл на панели, вместо панели задач.

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

Панель тоже занимает полезную площадь экрана. Ладно, если монитор полутора-двухметровый, а если всего лишь сантиметров 60-70?

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

> Панель тоже занимает полезную площадь экрана. Ладно, если монитор полутора-двухметровый, а если всего лишь сантиметров 60-70?

Мне удобно. К тому же, учитывай еще, что когда ты окна выбираешь в списке по alt-tab или, например, через dmenu — сразу видишь, какой терминал какую команду выполняет+выполнял, а не просто bash, bash, bash, bash.

geekless ★★
()

Приглашение как приглашение

yoghurt ★★★★★
()

Опа, MIPS, ядро относительно свежее, дисплей довольно большой - что за машинка, откуда и по чем брал?

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

> Опа, MIPS

Опа. Столько комментаторов отметилось, а никто и не заметил.

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

Таки очень ужасное ШГ. Очень очень.

Стоит у меня такой. Это, наверное, он и есть.

Он должен выглядеть как-то вот так http://ompldr.org/vOXI0NQ

Zetoke
()
Ответ на: комментарий от Xellos

>Двустрочный prompt вводит в заблуждение.

кого как. Зато с длинными путями беспроблемно работать

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

> Ужасно.

Что ужасно?

Зачем эти лишние вещи?


Какие вещи лишние?

При копировании из терминала вообще shit получается ведь.


При копировании чего? И какое дерьмо должно получаться?

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

> Двустрочный prompt вводит в заблуждение.

Длинная команда лучше воспринимается, т.к. влазит целиком. Разделение вывода команд лучше воспринимается.

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

>Что ужасно?

PROMT, очевидно же.

Какие вещи лишние?

Например, полосы для разделения. Не говоря уже про время и прочее.

При копировании чего?

Вывода терминала.

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

Вы всегда используете самые тупые ответы?

>Что ужасно?

PROMT, очевидно же.



Что именно ужасно?

>Какие вещи лишние?

Например, полосы для разделения.



Это поогает визуально отделить вывод одной команды от другой.

Не говоря уже про время и прочее.


Время позволяет узнать, когда завершилось выполнение команды. А что такое прочее? Код завершения программы? Текущую ревизию?

>При копировании чего?

Вывода терминала.



Как оно может мешать?
Про плохого танцора слыхали? Вы явно не выдающийся танцор.

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