-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
168 lines (128 loc) · 10.6 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="" />
<meta name="author" content="Maxim Sokhatsky" />
<title>SC: Sokhatsky Commander</title>
<link rel="stylesheet" href="https://n2o.dev/blank.css" />
<link rel="stylesheet" href="https://tonpa.guru/journal.css" />
</head>
<body>
<main>
<section>
<h3>SC: Sokhatsky Commander</h3>
<h4>Анотація</h4>
<center><a href="https://github.com/BitEdits/sc/"><img src="img/sc.png" width=150></a></center>
<br>
<p>Є цілий клас файлових менеджеріву, серед яких Norton Commander,
Volkov Commander (Всеволода Волкова), Demos Commander (Серія Вакуленко),
Dos Navigator, Total Commander, FAR Manager. Такі програми розширюють
класичні шели з історією команд додатковими можливостями:
більш швидка навігація по файловій системі через курсори,
розширений статус копіювання файлів, вбудовані радактори файлів.
Командер Сохацького побудований згідно наступних принципів: </p>
<p>— Кросплатформенна робота під Windows, Linux, Mac, BSD;<br>
— Конфігурований і без того маленьки розмір від 35 КБ до 100 КБ;<br>
— Без залежностей, потрібно тільки C99/POSIX які є стандартом;<br>
— Без використання ncurses та S-Lang, тільки termios;<br>
— Модальність hex редагування та дизасемблера <a href="https://be.5ht.co/">BE: Binary Editor</a>;<br>
— Модальність текстового редагування <a href="https://tv.5ht.co/">TV: Terminal Vision</a>;<br>
— POSIX шел <a href="https://sh.5ht.co/">SH: Verified POSIX Shell</a>;<br>
— Маленький розмір (бінарі 35KB, рядків 1KLOC, 5 С файлів на 64KB);<br>
— Коректна передача управління терімінальним програмам;<br>
— Базова функціональність історії команд і їх виводів;<br>
— Для мікроконтролерів і максимальної портованості.<br>
</p>
<h4>Вимоги і концепція</h4>
<p>Цей редактор можна також використовувати у якості вправи яка може замінити
написання консольних ігор типу Тетріса, Ксонікса, Арканоїда. Головним чином
це сцена яка обмежена файловою системою, а дійство вібувається
у вікні терміналу, один рядок якого виділений під ввід команд.</p>
<p>Колись Всеволод Волков написав Волков Командер в 15-му
гуртожитку КПІ в 64КБ COM-файлі для DOS. З тих пір ніхто не робив
командерів які вміщаються у цей розмір. Ми вирішили піти ще далі
і зробити командер, який на 64-бітних операційних системах
без залежнотей (termios) компілюється в 64КБ
ELF-файл (з підтримкою UTF-8). Головна мета проєкту —
зробити командер максимально портованим на різні гік-аматорські
операційні системи і embeded системи реального часу.</p>
<figure><code>$ ldd sc
linux-vdso.so.1 (0x00007ffcbebbf000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f7f3ea86000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7f436b2000)
$ ls -l sc
-rwxr-xr-x 1 tonpa tonpa 43152 Apr 3 17:38 sc</code></figure>
<h4>Модальність історії команд</h4>
<p>Історія команд і їх ввід це головна задача шелів. Так як командери є
розвиненими шелами, для них це не виняток — їх головна мета полягає
не в навігації по файлам, як це може здатися не перший погляд, а ввід команд
і зберігання їх історії разом з їх виводом в єдиному просторі.</p>
<P><b class=sel>LEFT</b> — курсор вліво на одну позицію в рядку вводу,<br>
<b class=sel>RIGHT</b> — курсор вправо на одну позицію в рядку вводу,<br>
<b class=sel>UP</b> — вставити в рядок вводу попередню команду з історії,<br>
<b class=sel>DOWN</b> — вставити в рядок вводу наступну команду з історії,<br>
<b class=sel>PGUP</b> — прокрутити історичний стрім виводу команд на екран вверх,<br>
<b class=sel>PGDOWN</b> — прокрутити історичний стрім виводу команд на екран вниз,<br>
<b class=sel>HOME</b> — перевести історичний стрім виводу команд на початок,<br>
<b class=sel>END</b> — перевести історичний стрім виводу команд в кінець,<br>
<b class=sel>INSERT</b> — преключити режим INS,<br>
<b class=sel>DELETE</b> — видалити символ під курсором,<br>
<b class=sel>ENTER</b> — ввести команду і записати її історію,<br>
<b class=sel>BACKSPACE</b> — видалити символ зліва від каретки,<br>
<b class=sel>SYMBOLS</b> — вставити або перезаписати символ (INS режим).
<p>
<p>Командер як розвинений шел — це середовище вводу команд.</p>
<br><center>˙</center>
<figure><img src="img/1.png"></figure>
<figure><img src="img/5.png"></figure>
<br><center>˙</center>
<h4>Модальність панелей</h4>
<p>Головна мета модальності панелей — запропонувати користувачу м'язову
пам'ять до його файлів на його системі через Lynx Like Motion курсорну навігацію.</p>
<P><b class=sel>LEFT</b> — перейти на папку вищу,<br>
<b class=sel>RIGHT</b> — перейти на папку нижче,<br>
<b class=sel>UP</b> — перемістити курсор вибору файлу вверх,<br>
<b class=sel>DOWN</b> — перемістити курсор вибору файлу вниз,<br>
<b class=sel>PGUP</b> — прокрутити панель з файлами на екран вверх,<br>
<b class=sel>PGDOWN</b> — прокрутити панель з файлами на екран вниз,<br>
<b class=sel>HOME</b> — перейти на перший файл папки,<br>
<b class=sel>END</b> — перейти на останній файл папки,<br>
<b class=sel>ENTER</b> — перейти в папку або запустити файл.<p>
<p>Командер — це шел з курсорною навігацією по файловим панелям.</p>
<br><center>˙</center>
<figure><img src="img/4.png"></figure>
<br><center>˙</center>
<h4>Модальність меню</h4>
<p><b class=sel>LEFT</b> — попередній пункт головного меню,<br>
<b class=sel>RIGHT</b> — наступний пункт головного меню,<br>
<b class=sel>UP</b> — попередній пункт підлеглого меню,<br>
<b class=sel>DOWN</b> — попередній пункт підлеглого меню,<br>
<b class=sel>ENTER</b> — вибір пункту меню,<br>
<b class=sel>ESC</b> — вихід з модальності меню.</p>
<br><center>˙</center>
<figure><img src="img/2.png"></figure>
<br><center>˙</center>
<h4>Модальність вікон</h4>
<p><b class=sel>SYMBOLS</b> — прописні літери кнопок діалогового вікна,<br>
<b class=sel>ENTER</b> — вибір кнопки,<br>
<b class=sel>ESC</b> — вихід з модальності вікна.</p>
<br><center>˙</center>
<figure><img src="img/3.png"></figure>
<br><center>˙</center>
<h4>Код</h4>
<p>Репозиторій проекту <a href="https://github.com/BitEdits/sc">github.com/BitEdits/sc</a>
опубліковано під <a href="https://5ht.co/license">DHARMA</a> ліценцією, яка
забороняє використання Sokhatsky Commander для росіян та всіх хто з ними
повʼязаний. Для всіх інших це не відрізняється від ISC ліцензії.
Присвячується Марії Бєліковій.</P>
<br><center>˙</center>
<div id="utterances" class="utterances" > </div>
<script src="https://utteranc.es/client.js" repo="5HT/tonpa.guru"
issue-number="26" theme="github-light" crossorigin="anonymous" async> </script>
</section>
</main>
<footer>Максим Сохацький, Київ</footer>
</body>
</html>