На основании публикаций и , не без помощи ИИ, сделал свой «велосипед». Только на Python + Qt (PySide6), с прицелом на Linux (сам уже много лет на нем сижу), а раз уж Qt — то и под Windows и под macOS собирается.
Зачем ещё один? Потому что на просторах паутины нашел только для Windows, а есть много разработчиков 1С, которые сидят на Linux/macOs, и им линейку тоже хочется.
Проблема (для тех, кто впервые слышит)
Когда рисуешь макет печатной формы в 1С, экранные миллиметры и печатные миллиметры — это, мягко говоря, не одно и то же. Прикидываешь колонку «Товар» в 120 мм, печатаешь — а там 175. Для тербовательных заказчиков нарисовать печатку в размер - это прям "боль".
Что умеет
- Два режима: одиночная линейка и угольник (L-форма) для замера ширины и высоты одновременно.
- Прозрачное окно поверх всех — рамки нет, перетаскивается мышью, прозрачность крутится колёсиком.
- Пресеты форматов бумаги: A4, A5, A6, Letter, Legal, 10×15, ценник 58×40 и любые свои (можно сохранить в список — а можно быстро задать «на лету» через пункт «Произвольный», без сохранения).
- Альбом / портрет — переключается одним кликом.
- 4 положения угла угольника: TL → TR → BR → BL. Двойной клик — крутит по часовой.
- Шкала по внутренней или внешней границе — куда удобнее прикладывать край объекта.е.
- Калибровка по эталонному отрезку 100 мм + кнопка «Печать эталона» — печатает отрезок ровно 100 мм на выбранном принтере, вы измеряете физической линейкой и вводите фактическое значение. Один раз откалибровали — забыли.
- Настройки, позиция окна, калибровка и произвольный размер сохраняются в стандартном для ОС месте:
- Linux —
~/.config/onec-ruler/config.json - Windows —
%LOCALAPPDATA%\onec-ruler\config.json - macOS —
~/Library/Preferences/onec-ruler/config.json
- Linux —
- Управление — только через контекстное меню и горячие клавиши, никаких панелей и тулбаров, ничего не закрывает экран.

Для удобства можно запустить несколько экземпляров инструмента
Горячие клавиши
R— переключить режим (линейка; угольник)O— сменить ориентацию (альбом; портрет)A— крутить угол угольника по часовой (TL → TR → BR → BL)S— переключить шкалу (по внутренней / внешней границе)F— произвольный размер линейки на летуC— калибровкаEsc— выход- Двойной ЛКМ — поворот инструмента: линейку на 90°, угольник — угол по часовой
- ЛКМ + перетаскивание — переместить окно
- Колесо мыши — прозрачность
- ПКМ — главное меню
Как работает калибровка
Один раз перед началом работы:
- Правый клик → «Калибровка…».
- В диалоге: «Печать эталона…» → выбираете принтер → печатается отрезок ровно 100 мм с надписью «Печать без масштабирования (100%)».
- Прикладываете к распечатке настоящую физическую линейку, вводите фактическую длину в мм. Или прикладываете линейку прямо к экрану, к тому же отрезку.
- «Применить» — всё, коэффициент px/mm сохранён.

С этого момента когда линейка показывает 120 мм — это ровно 120 мм на бумаге.
Технические подробности
- Стек: Python 3.10+, PySide6 (Qt 6). Ничего экзотического.
- Кроссплатформенно: код один и тот же для Linux, Windows, macOS. Собрано и проверено на Linux Mint 21 (Cinnamon, X11) и Windows 11 (PyInstaller той же командой из того же
spec-файла). Под macOS не пробовал, но принципиальных препятствий нет — Qt там работает нативно. - Один бинарник:
onec-ruler(Linux) /onec-ruler.exe(Windows). Никаких зависимостей, никакого .NET, никакого Python на целевой машине ставить не нужно. - Вес: ~47 МБ
- Wayland-нюанс: на голом GNOME «поверх всех» без спец-протокола не всегда держится. На X11 / XWayland / KDE / Cinnamon / Sway — работает.
Установка
Linux: скачать бинарник, chmod +x onec-ruler, запустить. Всё.
Windows: запустить onec-ruler.exe. Всё.
При первом запуске откроется меленькая линейка в углу экрана — дёргаете ПКМ и калибруете (см. выше).
Сборка:
py -m pip install PySide6 pyinstaller
py -m PyInstaller --noconfirm onec-ruler.spec
Вступайте в нашу телеграмм-группу Инфостарт
