#  Re: dumb
Difrex (dynamic,1) → nvkv  –  14:28:22 2021-08-25

О, эта штука может пригодиться на очередном CTF :)
#  Re: drawterm на 9front
hugeping (ping,1) → hugeping  –  12:14:06 2021-11-07

Патч на drawterm, который включает fullscreen на X11
====
diff --git a/gui-x11/x11.c b/gui-x11/x11.c
index 74412f9..9dda3a5 100644
--- a/gui-x11/x11.c
+++ b/gui-x11/x11.c
@@ -190,6 +190,13 @@ flushmemscreen(Rectangle r)
XFlush(xdisplay);
}

+void fullscreen(Display* dpy, Window win)
+{
+ Atom atoms[2] = { XInternAtom(dpy, "_NET_WM_STATE_FULLSCREEN", False), None };
+ XChangeProperty(dpy, win, XInternAtom(dpy, "_NET_WM_STATE", False),
+ XA_ATOM, 32, PropModeReplace, atoms, 1);

>> Читать далее
#  drawterm на 9front
hugeping (ping,1) → All  –  09:14:03 2021-11-05

Настроил себе drawterm на малинку с 9front.
Причём, сделал это не так, как положено, а просто с помощью запуска скрипта из lib/profile. :)
Потому что я использую малинку и как terminal. Так что мне важно, чтобы она оставалась графической.

Вот скрипт:
====
#!/bin/rc
#auth/factotum -n -- uncomment this if you want new instance
echo 'key proto=p9sk1 dom=rpi4 user=glenda !password=pass' > /mnt/factotum/ctl
aux/listen1 -t tcp!*!17019 /rc/bin/service/tcp17019 &
====

Запускаю его из lib/profile ветки terminal.
drawterm вариант от 9front.
#  ACME в Linux: пишем почтовый клиент
hugeping (ping,1) → hugeping  –  16:48:36 2021-10-13

Написал статью о том, как писал фронтенд к почте для acme:
ii://S4sJA2iZYo83k8ZnpjEX
#  netsurf и iconv
hugeping (ping,1) → All  –  21:11:57 2021-09-12

Те, кто пользуются 9front наверняка знают, что есть порт netsurf: https://github.com/netsurf-plan9/netsurf

К сожалению, порт собран без iconv поддержки. Поэтому некоторые сайты (например, opennet) открываются с убитой кодировкой.

Я взял iconv реализацию из openwrt и грязным образом прикрутил к netsurf. Положил в свой репозиторий: https://github.com/gl00my/plan9hacks

P.S. Кроме этого, у меня там есть ещё какие-то патчи, которые что-то исправляют в плане русского и шрифтов.
#  dumb
nvkv (ping,35) → hugeping  –  19:47:14 2021-08-02

https://github.com/emptymonkey/dumb/

Полезная утилита для обрубания escape-последовательностей. Совершенно незаменимая штука в win-окнах Acme.

Что примечательно, написана целиком на lex.

Удобнее всего использовать через |&, если у вас свежий баш, тогда оба, stderr и stdout, будут завернуты в dumb

% zig build |& dumb
P.S. Edited: 2021-08-02 20:48:55
#  shithub
hugeping (ping,1) → hugeping  –  06:51:48 2021-07-27

https://shithub.us - git9 репозитории разного софта под 9front.
#  Re: Скрипты и заметки по ACME
hugeping (ping,1) → hugeping  –  04:19:49 2021-03-10

Ещё скрипты и заметки: https://github.com/jinyangustc/acme-editor
#  Plan9 от Bell Labs на русском
hugeping (ping,1) → hugeping  –  07:40:47 2021-02-21

http://www.raaar.ru/unix/Plan9/Plan9.pdf
#  Статья про export/import
hugeping (ping,1) → hugeping  –  08:11:24 2021-02-19

https://9p.io/wiki/plan9/9p_services_using_srv,_listen,_exportfs,_import/index.html
#  cwfs без WORM
hugeping (ping,1) → hugeping  –  15:49:57 2021-02-18

Конфигурация cwfs без WORM:
http://docs.a-b.xyz/cwfs.html
#  Скрипты и заметки по ACME
hugeping (ping,1) → hugeping  –  07:33:59 2021-02-18

Несколько раз уже натыкался на этот репозиторий.

https://github.com/evbogdanov/acme
#  Запуск нового экземпляра acme в plan9port
hugeping (ping,1) → hugeping  –  21:48:59 2021-02-04

Если запустить acme из plan9port, а затем попробовать запустить его снова, то получим ошибку, вроде такой:

> 9pserve: announce unix!/tmp/ns.peter.:0/acme: Address already in use acme: can't post service: 9pserve failed

Поэтому, у меня есть простой скрипт, который запускает acme если он ещё не был запущен. А в последующие разы открывает файл через plumber в уже существующем экземпляре acme. Выглядит скрипт так:

====
#!/bin/sh
9

PAGER=nobs
MANPAGER=nobs

# Default font for Plan 9 programs.
font=/mnt/font/GoMono/14a/font

>> Читать далее
#  Re: Интересные ресурсы
hugeping (ping,1) → hugeping  –  13:25:44 2021-02-02

Описание rc на русском:

http://doc.cat-v.org/plan_9/translations/russian/papers/rc
#  Редактор ACME
hugeping (ping,1) → All  –  12:17:21 2021-01-20

Я не буду писать руководство по этому редактору. Но мне хотелось в этой небольшой заметке обозначить главную идею редактора. Дело в том, что когда я начинал осваивать acme мне не хватало именно этого -- понимания центральной идеи, архитектуры. Что это вообще такое? Нечто, непохожее ни на один существующий редактор. Да как можно в нём работать?

А идея у acme оказалась простой и при этом мощной. Я в течении 2-х месяцев разрабатывал в нём игру с текстовым вводом, и это было удобно. Привык настолько, что забыл даже часть клавиатурных комбинаций emacs. :)

Итак, в чём идея acme? Идея acme состоит в том, чтобы дать прослойку между ОС и человеком в виде TUI. И это всё.

1) Acme - это просто столбцы, в которых могут создаваться "окна", отображающие текст. Просто текст, поток текста. Без цвета, стилей, номеров строк... Лишь текст.

2) Над окнами есть области, в которых тоже может быть текст, которые играют роль меню.

3) Меню и окнами можно управлять с помощью записи в специальные файлы. С помощью чтения, можно получать события и информацию о текущем содержимом окон и меню.

4) Вы можете "выполнять" команды системы прямо из текста и/или меню. Например, вызывать спеллчекер, форматирование кода, увеличение отступа -- всё это должно быть Unix командами, которые будут выполняться для всего текста или выделенной его части. Текст приходит через stdin и выходит через stdout. Текст может быть внедрён в редактируемый текст или отображаться в отдельном окне (например, ошибки компилятора). Скрипт может понимать, что он запущен из среды acme и управлять редактором через файловую систему!

5) Можно открывать и просматривать файлы/каталоги, переходить на нужные строки, делать поиск в тексте. Всё это делается "выполнением" текста. Есть базовая возможность делать обработку текста на языке, который похож на sed. (Встроенная команда Edit).

>> Читать далее
#  Читшит по командам Sam (Edit в ACME)
hugeping (ping,1) → hugeping  –  09:15:58 2020-12-06

http://sam.cat-v.org/cheatsheet/sam-refcard.pdf
#  Интересные ресурсы
hugeping (ping,1) → All  –  20:06:33 2020-12-05

Сюда предлагаю добавлять ссылки на интересные ресурсы.

Документация по Plan 9 -- http://doc.cat-v.org/plan_9/

9front -- форк Plan 9 для современного железа -- http://9front.org/

9fans discord -- https://discord.gg/eu8VBUs

Русскоязычная телеграм группа -- https://t.me/ru_plan9

Plan 9 как десктоп -- https://pspodcasting.net/dan/blog/2019/plan9_desktop.html

Интересные заметки по 9front, например есть "рецепт" установки без fsworm партиции. -- http://docs.a-b.xyz/sitemap.html

Музыкальный плеер Zuke -- https://sr.ht/~ft/zuke/

>> Читать далее
#  Эха по Plan 9
hugeping (ping,1) → All  –  19:52:27 2020-12-05

Долго думал, создавать ли эху. Просто потому, что есть риск того, что она никогда не наполнится.

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

Если что, грохнуть всегда можно потом.