LINUX.ORG.RU

Сообщения unDEFER

 

Текстовый редатор unDE

Здравствуйте!

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

На экране видим часть кода на D, реализующего миникарту в правом верхнем углу.

Подсветка синтаксиса осуществляется согласно syntax-файлам vim'а. Это позволяет поддерживать нам широкую базу синтаксисов.. Широкую да не очень.. Регулярные выражения vim'а сильно отличаются от регулярных выражений D, поэтому заточить его под напичканный какими-то хитрющими выражениями синтакс-файл Perl'а мне не очень удалось (просто я не очень старался). В Bash-е из-за того что я не осилил многострочность регулярных выражений имя функции будет подсвечено только если фигурная скобка указана на той же строке, что и имя функции. А так Java, C, C++, PHP, JavaScript, HTML вполне себе подсвечиваются.

Но подсветка синтаксиса - это так результат предпоследней недели работы.

На самом же деле основной возможностью-убийцей редактора является несомненно его система отмен. В редакторе 4 вида отмен:

1) Файловая система отмен - ту что мы видим в большинстве редакторов.

2) Глобальная система отмен - это когда вы только что из-за одной переменной начали тотальный рефакторинг кода во всех файлах и вам надо отменить все недавние изменения во всех файлах.

3) Проектная система отмена - что-то среднее между 1 и 2. Отмены ограничиваются одним проектом.

4) Локальная система отмен - это когда вы точно помните что вот в этой функции был нужный код. Выделяете функцию - нажимаете (Ctrl+Z, в будущем Ctrl+Shift+Z) и вуаля - вы видите предыдущую версию фрагмента файла, а остальная часть файла остаётся нетронутой.

Редактор вдохновлён Vim'ом, но основным режимом всё же является не командный режим, а режим вставки. А так многие горячие клавиши перекликаются с Vim'ом, например: Ctrl+V - визуальный режим. Есть желание сделать командный режим по клавише Caps Lock, чтобы не зажимать Ctrl, но пока не доходят руки.

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

Локальные метки (те что задаются Ctrl+M <маленькая_латинская_буква>) также отмечены на миникарте (на скриншоте 2).

Чуть ниже миникарты - находится так называемый «карман», замена буферу обмена. В кармане отображено 4 места (хотя положить туда можно и больше) и управляется он всего двумя сочетаниями клавиш:

Ctrl+X - скопировать выделенное в карман, второе нажатие - удалить выделенное (фактически двойное нажатие - вырезать), третье нажатие (нажатие без выделения) - выложить из кармана.

Суть в том что кладётся всё в конец кармана, а выкладывается из начала, таким образом последовательное нажатие Ctrl-X позволяет круговым образом подставить любой фрагмент из кармана.

Ctrl+C - копировать из кармана.

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

Основная фишка - т.н. «псевдо-директории» - фиолетовые элементы. Когда в директории больше 10 файлов над ней появляется уровень псевдо-директорий, страницы директории по 10 элементов. Если элементов больше 100 - то 2 уровня псевдо-директорий и т.д.

И что ещё важно - при нажатии на любую директорию (псевдо или нет) в ней автоматически выбирается последний редактированный в ней файл как бы глубоко он не располагался. Если надо открыть саму директорию - надо кликнуть просто второй раз.

И это надо сказать удобно. И теперь я думаю как бы мне переделать мой ZUI-файловый менеджер объединив в нём преимущества ZUI-интерфейса и преимущества такой панели табов.

Так проект прошёл важную веху - наконец-то он разрабатывается сам в себе (а не в vim'е запущенном в себе).

Спасибо за внимание. Больше букв нету. Исходники в репозитории проекта. Сайт: http://unde.su

>>> Просмотр (1360x768, 65 Kb)

 

unDEFER ()

unDE 0.1.0.: Оригинальный файловый менеджер, просмотрщик текстов и изображений

Здравствуйте!

Рад представить вашему вниманию первую публичную версию проекта unDE!

На скриншоте мы видим как выглядит корневая директория в этом необычном файловом менеджере.

На самом деле по этому изображению можно очень много рассказать о файловой системе.

Например, директория bin вся покрыта квадратиками голубого, зелёного и жёлтого цветов. Из этого можно заключить что там есть только файлы и их размеры преимущественно 1Кб-1Мб.

Директория etc уже повеселее там много других директорий, а не только файлов, но все они преимущественно мелкие, все элементы в основном зелёного цвета, а значит имеют размер около 1Кб.

Ну и напоследок совсем интересная директория proc. Все файлы на ней нулевого размера, и здесь содержится много директорий с одинаковой структурой.

Больше букв: http://unde.sourceforge.net/ru/ch24.html

Видео с процессом работы в файловом менеджере: https://youtu.be/29zuxU9eyXo (есть субтитры)

>>> Просмотр (1076x1191, 57 Kb)

 , ,

unDEFER ()

Жизнь во Framebufer'е

Очень долгое время работал я в FVWM, и не то что конфигурацию - даже скриншот не думал менять. Браузером и почтовиком при этом служила мне Opera.
Но стоило мне начать активно использовать suspend-to-disk, (как он правильно называется я уж и не помню, так как давно настроил его на кнопку выключения питания на системном блоке) как оказалось что в Икс'вых приложениях память с течением времени куда-то убегает. Опера только на старте ест 200 Мб с моим набором не закрываемых вкладок, а памяти у меня всего 768 Мб. Кто-то скажет, что за 8 лет пора бы машине и апгрейд сделать, но я думаю что мне и самому хочется писать приложения бережно относящимся к ресурсам компьютера, а не уходить по пути растраты, который взяли большинство программ сегодня.
И начал уходить я под Новый год во Framebuffer. Directfb в Ubuntu уже был, вручную собрал XDirectFB, links с поддержкой графического режима (с выводом в directfb).
Казалось бы XDirectFB не нужен если есть X, но он обладает важным преимуществом - запускает X'сы без прав суперпользователя прямо на той консоли с которой был произведён запуск (а не на 7-й или 8-й консоли). Из минусов - почему-то падает после настройки с работой с X font server'ом при запусках приложений вроде xcalc или того же fvwm. Но разработчикам сообщено, даст Бог - исправят.

Итак теперь screen встал у меня на службу для увеличения количества консолей.
vim остался текстовым редактором.
mutt - мой новый почтовик (есть на скрине), отлично справляется с годовой почтой в 3000 сообщений на 300 Мб, быстро стартует и завершает работу. Чего не скажешь об Опере.
links - в том числе это сообщение отправлено из links в текстовом режиме. Однако, если хочется посмотреть картинки, я настроил букву «l» на запуск текущей странице в том же links но графическом, ну а если и флеш хочется видеть, то есть клавиша «k», которая запускает XDirectFB с chromium на той же странице. На скриншоте можно найти уменьшенные скрины одной из страниц LOR'а во всех трёх режимах.

Впрочем о последнем хотелось бы сказать подробнее. Дело в том, что не стартует DirectFB сам из под виртуального терминала screen. Поэтому пришлось малость изголится со скриптами, которые делают detach screen запускают нужную команду и по завершении графического приложения возвращают управление screen.
Задача скриптов этих была бы простой если бы DirectFB запускался хотя бы из произвольного скрипта, так нет максимум он запускается из скрипта запущенного командой вроде ". <имя-скрипта>".

Но зато теперь я доволен. Определившись с браузером и почтовиком я также открыл для себя просмотрщик fbi - отличная вещь, открывает картинки очень быстро, позволяет их и листать и поворачивать. И даже огромное изображение 14720x10800 открывает без лишнего шума и качественно масштабирует. На скриншоте - информация о фотографии с пингвином - это и есть скриншот fbi.

fbgs - вполне себе годный скрипт для просмотра pdf с помощью того же fbi.

mplayer - работает так как надо с опциями «mplayer -autosync 30 -fs -vo fbdev -zoom -xy 1024».

Скриншоты сделаны утилитой fbgrab.

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

Вот такая жизнь во фреймбуфере. Вот такой вот новый год.

>>> Просмотр (1024x768, 534 Kb)

 , , , ,

unDEFER ()

RSS подписка на новые темы