[shell] "Разукрасить" вывод программы на консоль

Все о программировании под *nix
slyfox
Заглянувший
Сообщения: 2
Зарегистрирован: 09 апр 2008, 21:33

Re: ограничеснность цветовой палитры

Сообщение slyfox »

olecom писал(а):Если кто запустит и захочет дальше что разукрашивать, тут-то и нарисуются рога про ограниченность цветовой палитры терминалов.

Хотя может какой там крутой rxvt прикрутил дополнительные последовательности для большего числа цветов. Никто не в курсе? Зоопарк эмуляторов, может где есть толк от них?
xterm/rxvt умеют больше 16 цветов:

Код: Выделить всё

#!/usr/bin/env bash

# for xterm/rxvt
for color in `seq 1 256`
do
    echo -n -e "\e[38;5;${color}m [$color]hello"
done
http://www.frexx.de/xterm-256-notes/
http://rtfm.etla.org/xterm/ctlseq.html

olecom
Интересующийся
Сообщения: 65
Зарегистрирован: 03 апр 2008, 18:54
Откуда: Родом: Чернавчицы, Брест, Бульбастан; Сейчас: Оломоуц, Чехия.

узерспейс без usr

Сообщение olecom »

Привет, Мулдер :)

Теперь остаётся узнать у какого дистра это есть в "каробке".

На счёт количества, 256 базовых цветов хоть и не много, но уже достаточно чтоб подумать об универсальном решении выбора цветов, учитывая все комбинации. Кодить их намертво можно только если это классика.

Код: Выделить всё

#!/usr/bin/env bash
# for xterm/rxvt
for color in `seq 1 256`
do
    echo -n -e "\e[38;5;${color}m [$color]hello"
done
да... скоро шел по XMLRPC надо будет запускать?

Код: Выделить всё

#!/bin/sh
...
    printf "\277...."
...
Может также 255, а не 256 в seq; ноль тоже вроде как (не) цвет.

Мне сообщили, что какой-то раздел форума предлагается для сбора всякой не Q&A информации, а той, что я вещаю (чтоб не мусорить там, где не надо).

Я просто хочу прорекламировать одну вещь, связанную с методами ввода на клаве, мыши и тачпаде. Оно как раз подходит для того, чтоб игратся с политрой (кроме всего прочего). Так что надеюсь раздел будет открыт, и я наконец соберусь с мыслями всё изложить (а за одно и узнать, может кто тоже до этого додумался).

olecom
Интересующийся
Сообщения: 65
Зарегистрирован: 03 апр 2008, 18:54
Откуда: Родом: Чернавчицы, Брест, Бульбастан; Сейчас: Оломоуц, Чехия.

БАГИ, БАГИ!!!

Сообщение olecom »

Для участников форума, о которых я думаю только в положительных тонах, хочу показать как кодинг основанный на этом простом вопросе, помог проге GNU `sed`.

http://bugs.debian.org/296862#12

http://bugs.debian.org/475464
(здесь решение девелопера мне кажется каким-то глупым)

http://bugs.debian.org/466862
(сообщение не дошло, или это тупые методы борьбы со спамом, о чём тоже хочется повещать):

From olecom Fri Apr 11 00:04:57 2008
Date: Fri, 11 Apr 2008 00:04:57 +0200
To: Clint Adams@debian
Cc: Panu Kalliokoski@sange.fi, 466862@bugs.debian, b0nzini@gnu.org
Subject: Bug#466862: sed: documentation bug: no mention of semicolon as command terminator

> Do you have a documentation patch to suggest?

This bug seems to be dup of

#284646: sed: Documentation does not properly document effects of
multiple commands

Also, other this one is quite similar.

#342739: sed: manpage is lacking


Panu, when (maybe) doing patches, please note, that in sources there are
many additional commands (e.g. 'e') flags for 's'(I,i,M,m,e, NUM>9)...

Probably documentation was lost somewhere?

olecom
Интересующийся
Сообщения: 65
Зарегистрирован: 03 апр 2008, 18:54
Откуда: Родом: Чернавчицы, Брест, Бульбастан; Сейчас: Оломоуц, Чехия.

debbugs

Сообщение olecom »

Летом я много копий сломал о непонимание мэйнтейнеров debbugs. Хороший дизайн системы (не веб дизайн, а вообще проектирование системы на уровне), но современные разработчики рулят её от тех "прямых" идей. Вот моя реакция на то, чтоб сообщения загаживать сслыками (тупые URL) на баги.

http://article.gmane.org/gmane.linux.de ... bbugs/2263

То есть по сути я предлагаю скрипт для MUA (на клиенте, с ява, руби, питон, яваскрипт-мурзилка или сед, скриптингом не важно каким). Это не так уж сложно, хоть pipe при получении сообщения через скипт.

Код: Выделить всё

s_Bug\(#[[:digit:]]*\)_crappyURL/\1_
то есть сканить Subject: письма и добавлять линк куда взблагорассудится, хоть на раБОТчий стол.

Код: Выделить всё

Subject: Bug#475464: Acknowledgement (sed: lost cycle in address range with last-line-address operation)
Cейчас же я посмотрел на ответы и вижу, что URL там уже прикрученны, при чём не короткие http://bugs.debian.org/475464 а на полную кривую катушку.

Код: Выделить всё

--
475464: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=475464
Debian Bug Tracking System
Contact_owner@bugs.debian.org with problems
Аппаратный XML, SAX, AJAX шлак в головах крепчает...

olecom
Интересующийся
Сообщения: 65
Зарегистрирован: 03 апр 2008, 18:54
Откуда: Родом: Чернавчицы, Брест, Бульбастан; Сейчас: Оломоуц, Чехия.

к теме цветов

Сообщение olecom »

> Set the foreground color to index N: \033[38;5;${N}m
> Set the background color to index M: \033[48;5;${M}m
>
> Check the "vim" section below for a small C program that matches RGB
> colors to xterm escape sequences.

http://www.frexx.de/xterm-256-notes/

Мосмотрел я это и... Можно выставить как пример криводизайна и тугоумия.

Ограниичено, наверное из железных graphic terminlalов приблудили. Если это так, то пора и этому на свалку.

1) почему 8 бит базовых цветов?
http://en.wikipedia.org/wiki/Super_Video_Graphics_Array :

Although the number of colours was defined in the original specification,
this soon became irrelevant as (in contrast to the old CGA and EGA
standards)

Производители видеокарт сделали это счастье неважным. Аналоговые мониторы вообще не в теме об ограниченности цветовой политры.

2) почему не RGB кодирование? Снова костыли perlячить надо?
2.1) эмуляция терминала обычно имеет коды по смене стандартной палитры заданием RGB кодов. То есть парсер уже есть.

2.2) RGB коды не напишишься в скриптах, громозко уж.
Почему я не могу определить свою политру и пользоваться короткими кодами для тех или иных цветов (даже для каждого конкурентного терминало-пользователя можно сделать поддержку).

Этоже не железяка с ROM, лимитом на RAM и прочим устаревшим барахлом. Такой эмулятор -- это же обычная программа/приложение!

Как я уже говорил, есть идеи о более продвинутом консольном интерфейсе (типа окошки/области, строчный и нестрочный редакторы текста, а не stty/tty блюдочный, ну и прочая радость). Такие фичи как эти в xterm, надо изучить, понять, увидить кривость и никогда не использовать.
______

olecom
Интересующийся
Сообщения: 65
Зарегистрирован: 03 апр 2008, 18:54
Откуда: Родом: Чернавчицы, Брест, Бульбастан; Сейчас: Оломоуц, Чехия.

ядро и железо

Сообщение olecom »

Даже с точки зрения железа и ядра.

Рама видюхи может быть использована без проблем для реализации такого "продвинутого" (smart) функционала. Остаётся дело за малым: кому это надо?

Подсветка синтаксиса, удобная консоль и редактор текста для меня и радость для демо-спортсменов http://www.taat.fi/tmdc/ .

Эти так вообще приколисты, столько лет состязаются, и без толку. Даже либы своей не сделали. Пришлость идти к open source за libcaca. Ещё один пример бесполезной деятельности (как и олимпиады). Несомненно оно красиво, непросто и порой приятно (музыка там ничего), но а что дальше? Не иметь целью развивать с каждым разом свой движок, вообще как IOCCC. Все знают, все хотят. Только каждый раз всё с начала...
_____

olecom
Интересующийся
Сообщения: 65
Зарегистрирован: 03 апр 2008, 18:54
Откуда: Родом: Чернавчицы, Брест, Бульбастан; Сейчас: Оломоуц, Чехия.

Re: ядро и железо

Сообщение olecom »

olecom писал(а):Подсветка синтаксиса, удобная консоль и редактор текста для меня и радость для демо-спортсменов http://www.taat.fi/tmdc/ .
[]
libcaca
Да, либ-кака, либ-пипи, тоилет и прочие вещи, это от Дебиян Лидера 2007-2008 Сэма Хоцевара.

Я как всё это прошарил, так залабал sh+sed крипт в его честь, tmdc я хоть и восхищаюсь, но уже не уважаю.

ftp://flower.upol.cz/crazy/debian.sh
_____

olecom
Интересующийся
Сообщения: 65
Зарегистрирован: 03 апр 2008, 18:54
Откуда: Родом: Чернавчицы, Брест, Бульбастан; Сейчас: Оломоуц, Чехия.

всё также подсветак синтаксиса

Сообщение olecom »

Уже шестидесятый бесполезный пост...

В общем за пару дней меня распарило и я сдел то, что хотел ещё в конце лета. Тока тогда я забил из-за того, что в klibc, lkml никого не нашёл в коллеги. База есть, можно двигатся к кривому кconfig.

http://mid.gmane.org/20080413152702.GJ2 ... er.upol.cz

Programmer's Notepad 2 (win32) даже лучше знает о here-documnet (<<), чем `mc` && `emacs`. Только проблема не в этом.

Проблема в подсветке синтаксиса та, что из неё хотят сделать лучее отображение кода. Мне взбрело в голову то, что с её помощью нужно показывать что код делает, не делает или криводелает. По-этому и прикручивать это всё надо на самый низкий уровень прямо в парсер, компилятор и прочие штуки.

Сколько раз челы пялятся в код, подсвеченый и всё что они хотят понять -- это почему он не работает? Так что это просто борьба с со соледстиями, а не причинами -- видеть, а не смотреть.

По-этому мне не важно, что кавычки что-то ковотят. Мне важно и в них видить код шела, седа или прочих приблуд. И мне не надо выдумывать штучки с искусственным интеллектом для этого, я просто пишу

Код: Выделить всё

shell_CODE='
#!/bin/sh
и педалю шел
'
sed_CODE='
#!/bin/sed
и вижу всё что матчится, и заменятеся в регекспах, синтаксические, логические ошибки и тд и тп.'
Не говоря уже о том, что редактор сам должен собрать команду и спросить меня: примерный текст для матчинга и запустить скрипт, подсвечивая что заматчилось.

Просто показывать что что-то есть запятая, а что-то скобка -- это очень примитивно. Но regex-based подсветка как раз только и может понять, как что выглядит...

Тем кто, может сказать, что это шел, а не реальный язык, вот недавний пример.

http://lwn.net/Articles/276694/
(почитайте коменты дядек, их не много)

Чел в цикле после проверки, с предекрементом читает память. У меня каждый ++/-- подсвечивается в емаксе красным(где-то в форуме есть ссылка на мои елисп конфиги), и я назвал это fuck, так как ещё на заре совего кодинга я прошарил их рогатость.

У кого-нить воображение вообще есть или полное потемнение?
Eclipse (ru: затмение) -- и смешно, и грустно...
______
Последний раз редактировалось olecom 15 апр 2008, 01:12, всего редактировалось 1 раз.

Аватара пользователя
Silos
Неотъемлемая часть форума
Сообщения: 287
Зарегистрирован: 15 фев 2004, 19:04
Откуда: Belarus, Minsk
Контактная информация:

Сообщение Silos »

Хм, olecom разговаривает сам с собой? Или его дружно весь форум игнорит?

booxter
Неотъемлемая часть форума
Сообщения: 1427
Зарегистрирован: 04 апр 2004, 21:04

Сообщение booxter »

Silos, для абранага ім фармату допісаў не абавязковае абмеркаванне, асабліва, калі рэальна іх прачытвае 1,5 чалавекі :) Я - вось тыя 0,5 :)

olecom
Интересующийся
Сообщения: 65
Зарегистрирован: 03 апр 2008, 18:54
Откуда: Родом: Чернавчицы, Брест, Бульбастан; Сейчас: Оломоуц, Чехия.

шум

Сообщение olecom »

Silos, be my guest. Если что не понятно на техническом уровне, я с радостью объясню до степени своего опыта и понимания.

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

Q&A стиль -- это из этой же области, равно как и книжки типа LDD2 && LDD3. Линки на них постить -- это круто, а взять и разгребать кучи вядра Линукс -- это извини, мы тут мимо.
______

leave
Неотъемлемая часть форума
Сообщения: 1055
Зарегистрирован: 25 окт 2006, 14:50
Откуда: minsk
Контактная информация:

Сообщение leave »

booxter, я еще 0,5 :)
Читать олекома можно, иногда интересно, но всегда сложновато для восприятия :(

Аватара пользователя
Silos
Неотъемлемая часть форума
Сообщения: 287
Зарегистрирован: 15 фев 2004, 19:04
Откуда: Belarus, Minsk
Контактная информация:

Сообщение Silos »

leave, гыгы. Я его читаю частично, ибо стиль изложения уважения не вызывает, так что + 0.1 :)

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

Нормально. Читаю иногда. Основная идея о том, что хорошие концепции unix давно выросли из штанишек магических чисел вида "7bit ASCII, 8bit per char" и т.п. А за них, за эти костыли, держаться и подсовывают их другим зачастую под видом сакрального знания - "16 цветов хватит всем - раз гуру не переделывают код, значит им хватает - хватит и всем остальным".
Хорошо что хотя бы POSIX ACL впихнули в систему в свое время...
Опыт растет прямо пропорционально выведенному из строя оборудованию

leave
Неотъемлемая часть форума
Сообщения: 1055
Зарегистрирован: 25 окт 2006, 14:50
Откуда: minsk
Контактная информация:

Сообщение leave »

7bit ASCII
слава богу, не в бсд живем :)

Ответить