k8sterm |
[Nov. 2nd, 2012|05:55 am] |
а тем временем немного перепахал терминал. починил багов, добавил сообщений, побил нечитаемый монолитный исходник на нечитаемую россыпь инклюдов, начал подготовку к выделению самого движка терминала в отдельную библиотеку.
в принципе, план такой: собственно, библиотека терминала с буфером текста и обработкой искейпов. поверх — библиотека-рисовалка в пиксмап и на X11 Drawable, которой надо установить параметров типа шрифтов и цветов (или, возможно, просто хуки для рисования на пиксмапе строчек разными цветами). а ещё выше, собственно, полноценный терминал, с иксовым окном и прочими прелестями. возможно, табы будут в subwindow, тогда упростится рисовалка.
таким нехитрым образом я получаю и отдельный терминал, и полезную библиотеку на тот случай, если мне понадобится куда-то терминал встроить (с потенциально портируемой рисовалкой). и всё это на чистом gcc и чистом X11, размером скомпилированого кода килобайт в 60-70.
потому что все подобные библиотеки, которые мне попадались (целых две) — совершенно невменяемы, тянут или кутэ или — пардон май фрэнч — гтк, весят 100500 килотонн, жрут память и попросту говнище.
конечно, потом код надо будет вычистить, апи документировать и вообще причесать. наверное. или не надо, потому что всё равно никто кроме меня (и то не факт) этим пользоваться не начнёт.
p.s. путём хорошо продуманого апи для кое-кого можно будет добавить тормозную, бесполезную и попросту отвратительную рисовалку через Xft. не меняя, собственно, кишки терминала. ждите, и воздастся вам.
p.p.s. сильно не хватает в сях штатной возможности «расширения структур». ну, тупо, чтобы написать нечто вроде «struct abc extends def { … }». дабы не городить макросы и/или лишние квалификаторы. |
|
|
Comments: |
From: | (Anonymous) |
Date: | November 2nd, 2012 - 01:47 pm |
---|
| | | (Link) |
|
> сильно не хватает в сях штатной возможности «расширения структур». правильно. инефиг. ся забавна тем, что она -- ся.
![[User Picture]](http://lj.rossia.org/userpic/197531/22349) | From: | 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]](http://lj.rossia.org/userpic/197531/22349) | From: | 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) |
|
перепрограммируй человеков | |