Knoledge_v0
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1,3 @@
|
|||||||
social/
|
social/
|
||||||
.obsidian/
|
.obsidian/
|
||||||
|
Curses/
|
||||||
|
|||||||
45
README.md
45
README.md
@@ -0,0 +1,45 @@
|
|||||||
|
# Инструкция по установке
|
||||||
|
|
||||||
|
1. Скачать программу [Obsidian](https://obsidian.md/), или любой другой редактор для файлов .md.
|
||||||
|
- Arch
|
||||||
|
```bash
|
||||||
|
sudo Pacman -S obsidian
|
||||||
|
```
|
||||||
|
- Debian\Ubuntu\Fedora\CentOS
|
||||||
|
```bash
|
||||||
|
sudo snap install obsidian --classic
|
||||||
|
```
|
||||||
|
2. скачать git [репозиторий](https://github.com/lambehorn/knowledge_vault.git).
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/lambehorn/knowledge_vault.git
|
||||||
|
```
|
||||||
|
3. Открыть репозиторий при помощи текстового редактора который вы установили.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Конспект предназначен для учащихся на прикладном потоке ПГНИУ, но пользоваться им может каждый желающий.
|
||||||
|
|
||||||
|
Так же можно отправлять правки в репозиторий, что бы развивать конспект.
|
||||||
|
|
||||||
|
# Installation guide
|
||||||
|
|
||||||
|
1. Download the app [Obsidian](https://obsidian.md/) (or any other editor for `.md` files).
|
||||||
|
- Arch
|
||||||
|
```bash
|
||||||
|
sudo pacman -S obsidian
|
||||||
|
```
|
||||||
|
- Debian Ubuntu Fedora CentOS
|
||||||
|
```bash
|
||||||
|
sudo snap install obsidian --classic
|
||||||
|
```
|
||||||
|
2. Clone the git [repository](https://github.com/lambehorn/knowledge_vault.git):
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/lambehorn/knowledge_vault.git
|
||||||
|
```
|
||||||
|
3. Open the cloned folder with the text editor you installed above.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
The notes are made primarily for students of the Applied-Stream at Perm State University (PGNIU), but anyone is welcome to use them.
|
||||||
|
|
||||||
|
Feel free to submit pull requests to help improve the notes.
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
В [[curses]] есть возможность создавать специальный обьект для ввода текста.
|
|
||||||
Для ввода текста импортирутется специальный обьект textpad.
|
|
||||||
|
|
||||||
```python
|
|
||||||
from curses.textpad import Textbox
|
|
||||||
```
|
|
||||||
|
|
||||||
@@ -1,113 +0,0 @@
|
|||||||
В [[Curses]], существуют объекты, сразными параметрами, для разметки и ореинтации в консоли.
|
|
||||||
Ранее добавленный объект `stdscr`, является по сути объектом окна нашей консоли.
|
|
||||||
### Управление выводом текста
|
|
||||||
- `addch(y, x, ch[, attr])` – вывести символ.
|
|
||||||
- `addstr(y, x, str[, attr])` – вывести строку.
|
|
||||||
- `insstr([y, x,] str[, attr])` – вставить строку.
|
|
||||||
- `delch([y, x])` – удалить символ.
|
|
||||||
|
|
||||||
### Управление положением курсора
|
|
||||||
- `move(y, x)` – переместить курсор.
|
|
||||||
- `getyx()` – получить текущие координаты курсора.
|
|
||||||
- `getbegyx()` – координаты верхнего-левого угла окна.
|
|
||||||
- `getmyx()` – размеры окна (строки, колонки).
|
|
||||||
|
|
||||||
### Чтение ввода
|
|
||||||
- `getch([y, x])` – получить символ/код клавиши.
|
|
||||||
- `getkey([y, x])` – то же, но как строка (например `"KEY_LEFT"`).
|
|
||||||
- `getstr([y, x])` – считать строку.
|
|
||||||
- `nodelay(flag)` – включить/выключить неблокирующий ввод.
|
|
||||||
- `timeout(ms)` – задать таймаут ожидания ввода.
|
|
||||||
-
|
|
||||||
### Работа с экраном/окном
|
|
||||||
- `clear()` – очистить окно.
|
|
||||||
- `erase()` – стереть содержимое (похоже на `clear`, но без обновления).
|
|
||||||
- `refresh()` – обновить экран, показать изменения.
|
|
||||||
- `noutrefresh()` – отложенное обновление (для `doupdate()`).
|
|
||||||
- `redrawwin()` – перерисовать окно.
|
|
||||||
|
|
||||||
### Атрибуты и цвет
|
|
||||||
- `attron(attr)` – включить атрибут.
|
|
||||||
- `attroff(attr)` – выключить атрибут.
|
|
||||||
- `attrset(attr)` – установить атрибуты.
|
|
||||||
- `bkgd(ch[, attr])` – задать символ/атрибут фона.
|
|
||||||
- `bkgdset(ch[, attr])` – задать "фон по умолчанию".
|
|
||||||
- `color_pair(n)` – использовать цветовую пару.
|
|
||||||
|
|
||||||
### Управление окнами
|
|
||||||
- `subwin(nlines, ncols, begin_y, begin_x)` – создать подокно.
|
|
||||||
- `derwin(nlines, ncols, begin_y, begin_x)` – "деривативное" окно.
|
|
||||||
- `overlay(win)` – скопировать содержимое (не заменяя пробелы).
|
|
||||||
- `overwrite(win)` – полностью переписать.
|
|
||||||
- `box([vertch, horch])` – нарисовать рамку вокруг окна.
|
|
||||||
- `border([...])` – нарисовать рамку со своими символами.
|
|
||||||
|
|
||||||
### Прокрутка
|
|
||||||
- `scroll([n])` – прокрутить содержимое вверх.
|
|
||||||
- `scrollok(flag)` – разрешить/запретить автопрокрутку.
|
|
||||||
### Дополнительно
|
|
||||||
- `keypad(flag)` – включить/выключить поддержку функциональных клавиш.
|
|
||||||
- `idlok(flag)` – оптимизировать обновление при вставке/удалении строк.
|
|
||||||
- `leaveok(flag)` – разрешить оставлять курсор "где попало".
|
|
||||||
- `touchwin()` – пометить всё окно для перерисовки.
|
|
||||||
- `untouchwin()` – снять метки.
|
|
||||||
- `is_wintouched()` – проверить, есть ли изменения.
|
|
||||||
|
|
||||||
### Обьекты окон
|
|
||||||
|
|
||||||
В curses так же можно создавать окна отдельно от основного.
|
|
||||||
|
|
||||||
Вот несколько обьектов окон для разметки в curses:
|
|
||||||
|
|
||||||
#### newwin - обычное окно
|
|
||||||
|
|
||||||
- Создаётся функцией `curses.newwin(nlines, ncols, begin_y, begin_x)`.
|
|
||||||
- Можно сделать несколько таких окон в пределах `stdscr`.
|
|
||||||
- Каждый объект — независимый `_curses.window`.
|
|
||||||
|
|
||||||
Пример:
|
|
||||||
|
|
||||||
```python
|
|
||||||
win = curses.newwin()
|
|
||||||
```
|
|
||||||
|
|
||||||
#### subwin - подокно
|
|
||||||
|
|
||||||
- Создаётся как "срез" другого окна.
|
|
||||||
- Разделяет память с родительским окном: изменения в одном видны в другом.
|
|
||||||
- Удобно, если хочешь "разбить экран на части".
|
|
||||||
|
|
||||||
Пример:
|
|
||||||
|
|
||||||
```python
|
|
||||||
sub = stdscr.subwin(5, 20, 2, 5)
|
|
||||||
```
|
|
||||||
|
|
||||||
#### derwin - Дочернее окно
|
|
||||||
|
|
||||||
- Похоже на subwin, но привязано к координатам внутри родительского окна, а не всего экрана.
|
|
||||||
- Тоже разделяет буфер с родителем.
|
|
||||||
|
|
||||||
Пример:
|
|
||||||
|
|
||||||
```python
|
|
||||||
der = win.derwin(5, 20, 1, 1)
|
|
||||||
```
|
|
||||||
|
|
||||||
### newpad - Pad
|
|
||||||
|
|
||||||
- "Большое окно", которое может быть больше экрана.
|
|
||||||
- Сам не отображается, нужно явно указывать какую часть показывать через pad.refresh().
|
|
||||||
- Удобно для скроллинга длинных текстов, логов и т. п.
|
|
||||||
|
|
||||||
Пример:
|
|
||||||
|
|
||||||
```python
|
|
||||||
pad = curses.newpad(100, 100)
|
|
||||||
pad.refresh(pminrow, pmincol, sminrow, smincol, smaxrow, smaxcol)
|
|
||||||
```
|
|
||||||
|
|
||||||
где
|
|
||||||
- **`pminrow, pmincol`** — координаты внутри pad (откуда брать данные).
|
|
||||||
- **`sminrow, smincol`** — верхний левый угол области на экране, куда будет выведен кусок pad.
|
|
||||||
- **`smaxrow, smaxcol`** — нижний правый угол области на экране (включительно).
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
Это библиотека написаная для языка [[Python]], которая позволяет писать консольные приложения.
|
|
||||||
|
|
||||||
# Начало
|
|
||||||
для того что бы консольное приложение запустилось необходимо импортировать библиотеку curses. Так же можно импортировать обьект wrapper, для удобства, который позволит обрабатывать ваше приложение, что по сути является оберткой.
|
|
||||||
|
|
||||||
```python
|
|
||||||
import curses
|
|
||||||
from curses import wrapper
|
|
||||||
```
|
|
||||||
|
|
||||||
Действия происходят внутри функции main, в котороую wrapper помещает объект - текущее окно консоли, с которым и происходит основное взаимодействие.
|
|
||||||
|
|
||||||
```python
|
|
||||||
def main(stdscr): # Созддаем функцию с объектом окна консоли stdscr
|
|
||||||
pass
|
|
||||||
wrapper(main) # Оборачиваем функцию в wrapper
|
|
||||||
```
|
|
||||||
|
|
||||||
# Возможности:
|
|
||||||
### [Оконные объекты](Curses%20-%20оконные%20объекты)
|
|
||||||
Reference in New Issue
Block a user