crypt of decay - k8sterm [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

k8sterm [Nov. 2nd, 2012|05:55 am]
Previous Entry Add to Memories Tell A Friend Next Entry
а тем временем немного перепахал терминал. починил багов, добавил сообщений, побил нечитаемый монолитный исходник на нечитаемую россыпь инклюдов, начал подготовку к выделению самого движка терминала в отдельную библиотеку.

в принципе, план такой: собственно, библиотека терминала с буфером текста и обработкой искейпов. поверх — библиотека-рисовалка в пиксмап и на X11 Drawable, которой надо установить параметров типа шрифтов и цветов (или, возможно, просто хуки для рисования на пиксмапе строчек разными цветами). а ещё выше, собственно, полноценный терминал, с иксовым окном и прочими прелестями. возможно, табы будут в subwindow, тогда упростится рисовалка.

таким нехитрым образом я получаю и отдельный терминал, и полезную библиотеку на тот случай, если мне понадобится куда-то терминал встроить (с потенциально портируемой рисовалкой). и всё это на чистом gcc и чистом X11, размером скомпилированого кода килобайт в 60-70.

потому что все подобные библиотеки, которые мне попадались (целых две) — совершенно невменяемы, тянут или кутэ или — пардон май фрэнч — гтк, весят 100500 килотонн, жрут память и попросту говнище.

конечно, потом код надо будет вычистить, апи документировать и вообще причесать. наверное. или не надо, потому что всё равно никто кроме меня (и то не факт) этим пользоваться не начнёт.

p.s. путём хорошо продуманого апи для кое-кого можно будет добавить тормозную, бесполезную и попросту отвратительную рисовалку через Xft. не меняя, собственно, кишки терминала. ждите, и воздастся вам.

p.p.s. сильно не хватает в сях штатной возможности «расширения структур». ну, тупо, чтобы написать нечто вроде «struct abc extends def { … }». дабы не городить макросы и/или лишние квалификаторы.
Linkmeow!

Comments:
From:(Anonymous)
Date:November 2nd, 2012 - 01:47 pm
(Link)
> сильно не хватает в сях штатной возможности «расширения структур».
правильно. инефиг. ся забавна тем, что она -- ся.
[User Picture]
From:[info]ketmar
Date:November 2nd, 2012 - 03:07 pm
(Link)
глупо это. а m$ для такого механизм сделала. нет, gcc тоже умеет, если включить флаг -fms-extensions, но противно же. правда, там не совсем «расширение струкруты», там можно просто объявить внутри структуры другую, анонимную. а хотелось бы, всё-таки, расширение.
From:(Anonymous)
Date:November 2nd, 2012 - 06:33 pm

сметанка от бабушки с куриным бульонным кубиком (ц)

(Link)
а мне лениво тя читать, хоть и до сих пор и взаимофренд %-)
чA_льFа
From:(Anonymous)
Date:November 3rd, 2012 - 09:33 pm
(Link)
Где ты будешь это применять?
[User Picture]
From:[info]ketmar
Date:November 4th, 2012 - 03:57 am
(Link)
я это УЖЕ применяю — это терминал, который я использую постоянно.
From:(Anonymous)
Date:November 4th, 2012 - 02:40 pm

(Link)
для чего нужен терминал? код в нем пишешь что ли для виндовский "заказов"?
af
From:(Anonymous)
Date:November 4th, 2012 - 03:36 pm
(Link)
Сделай курсы по программированию.
From:(Anonymous)
Date:November 4th, 2012 - 10:32 pm
(Link)
перепрограммируй человеков