Linux изменить размер окна

Перемещение, изменение размера, расположение окон в Gnome

Нажмите и удерживайте клавишу Alt и вы сможете передвигать окно за любую его часть а не только за заголовок. Это может потребоваться, например, когда заголовок окна случайно оказался за пределами экрана (такое у меня бывало иногда) или, например, когда вы работаете за маленьким ноутбуком (нетбуком), и окно не помещается на экране, а его нужно переместить.

Изменение размеров окна

Также можно изменять размеры окон, если у вас трехкнопочная мышь или если скролл нажимается. Нажмите Alt, и удерживая среднюю кнопку мыши (или нажимая скролл), растягивайте окно. В зависимости от расположения курсора мыши в области окна будет изменяться размер соответствующей стороны или двух сторон одновременно.

Расположение окон всегда наверху

У каждого окна в Gnome можно выставить свойство Всегда наверху. Это позволяет закрепить окно над другими окнами. Для этого щелкните по иконке в левой части заголовка окна и поставьте галочку напротив пункта «Закрепить на переднем плане».

Всегда наверху

Я, например, использую это, когда в консоли (эмуляторе терминала) запускаю какой-нибудь долгий процесс, например, компиляцию большой программы или установку программы. У окошка я ставлю галочку Всегда наверху и сдвигаю его в край экрана, а сам продолжаю заниматься своими делами. Когда компиляция завершается, я краем глаза могу это увидеть, а не проверять каждую минуту.

Источник

Display scaling в Linux. Часть 1 — системные настройки

Дисплеи с высокой плотностью пикселей уже давно не редкость. И для того, чтобы UI не выглядел слишком мелко, применяется масштабирование. В разных системах используются разные подходы и имеются различные возможности настроек. Но одно объединяет их все — безмерное количество кривизны, костылей и глюков. Посмотрим как на сегодняшний день обстоит ситуация в лагере Linux.

Цель первой части — обрисовать ситуацию с настройками масштабирования в системе из коробки, без лишних плясок с бубном — так, как ее видит обычный пользователь.

Десктопных окружений великое множество, проверить все займет огромное количество времени, поэтому критерии выбора такие — находится в активной разработке и не требует отдельной установки, т.е. идет в комплекте с каким-н дистрибутивом. Ну и конечно оно должно быть более мене известным, потому выбирал просто из перечня в таблице.

Дистрибутивы для обзора были использованы следующие: Ubuntu и Fedora для Gnome, openSUSE для KDE, Manjaro для XFCE, Debian для MATE, Mint для Cinnamon, Ubuntu для LXQt и Deepin с его одноименным окружением.

Читайте также:  Кали линукс фишинг инстаграм

Gnome

Поддерживает независимые настройки масштабирования для каждого монитора.

Доступные коэффициенты рассчитываются в зависимости от разрешения монитора, для 4K возможны варианты от 100% до 400%, для FullHD — 100% и 200%.

Дробное масштабирование (Fractional scaling) поддерживается частично. Возможность установки дробного масштабирования в различных дистрибутивах либо присутствует в настройках дисплея (например в Ubuntu), либо скрыта (как в Fedora). Но даже если опция скрыта, включить этот режим можно с помощью команды

gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"

Доступные коэффициенты также рассчитываются в зависимости от разрешения монитора, для 4K возможны варианты от 100% до 400% с шагом 25%, для FullHD — от 100% до 225%.

Поскольку актуальная версия Gnome использует протокол Wayland, то для полноценной работы приложения должны поддерживать эту технологию. Для обычных X11 приложений написанных с использованием UI-фреймворков, которые не поддерживают Wayland используется реализация X Server под названием XWayland. К сожалению дробное масштабирование среди того что не поддерживается в режиме совместимости, в этом случае X11 приложения отрисовываются в 100% масштабе а затем просто растягиваются до необходимых размеров, даже если в этом режиме выбран целочисленный коэффициент. Когда то за подобное ругали Windows. лет десять назад.

Изменения настроек применяются сразу, log out не требуется.

В окне справа все размытоВ обычном режиме все в порядке

KDE

В сессии X11 не поддерживает независимые настройки масштабирования для нескольких мониторов.

Дробное масштабирование поддерживается, доступные коэффициенты от 100% до 300% (не зависят от разрешения) с шагом 25%.

С ходу бросается в глаза что высота панели задач не меняется.

Изменения требуют сделать restart, по факту достаточно перелогиниться.

В Wayland сессии можно указать независимые настройки для разных мониторов, масштабирование дробное и по умолчанию X11 приложения будут отображаться с размытием так же как и в Gnome. Но начиная с Plasma 5.26 добавилась опция позволяющая X11 приложениям масштабироваться самостоятельно, в этом случае все работает прекрасно и никакого размытия. С панелью задач тоже все в порядке.

Новая опция в 5.26

XFCE

Тут все плохо. Поддержка с виду как бы есть но лучше бы ее совсем не было, такое впечатление что код не то что не тестировали, а даже не запускали.

Независимые настройки для каждого монитора есть, также есть секретная опция Window Scaling в Appearance.

Дробное масштабирование с виду поддерживается, но теперь самое интересное — ставим в первом окне коэффициент 1.5x вместо 1x и… весь UI уменьшается. Причем чем больше коэффициент тем мельче будет UI

Читайте также:  Installing clang on linux

Вот так выглядит масштаб 2x на 15

Взяв линейку легко выявить что все размеры не умножаются на scale factor, а делятся на него т.е. Вместо 150% получаем 66%, вместо 200% — 50% и.т.п. Что интересно, настройки позволяют указывать произвольное значение от 0.1 до 10.0 с шагом 0.1. Если указать значение меньше единицы то UI таки увеличится (например 0.7 даст примерно 143%), но размыто будет абсолютно все. Ситуацию немного улучшает секретная опция Window scale, там всего два варианта 1x и 2x, если выбрать 2x, то размер окон будет умножен на 2 и поделен на коэффициент из настроек дисплея. Тогда коэффициент 1.5 даст масштаб 133%, а коэффициент 2 сократится до 100% и в этом случае проще оставить везде единицы.

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

MATE

Не поддерживает независимые настройки масштабирования для нескольких мониторов.

Также нет гибкости выбора коэффициентов, только Regular (x1) или HiDPI (x2).

Среди настроек дисплея эту опцию искать бесполезно, она запрятана довольно далеко и неочевидно в System -> Preferences -> Look And Feel -> MATE Tweak.

Изменения применяются сразу.

Cinnamon

Поддерживает независимые настройки масштабирования для нескольких мониторов.

Поддерживает дробное масштабирование, эта опция помечена как experimental, но по умолчанию включена. Отключение дробного масштабирования отключит также и возможность независимой настройки для разных мониторов. Для дробного масштабирования диапазон настроек от 100% до 200% с шагом 25% независимо от разрешения монитора. При отключенном дробном масштабировании диапазон зависит от разрешения, так же как и на Gnome — от 100% до 400% для 4K и 100% и 200% для FullHD.

Изменения применяются сразу.

LXQt

Не поддерживает независимые настройки масштабирования для нескольких мониторов.

Настройки здесь снова бесполезно искать среди конфигурации дисплея, они запрятаны далеко. Можно указать дробный коэффициент — произвольное значение от 1.0 до 4.0 с точностью в два знака. Заголовки окон не масштабируются.

Применение изменений требует перелогиниться.

Deepin

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

Читайте также:  Linux dd посмотреть прогресс

Не поддерживает независимые настройки масштабирования для нескольких мониторов.

Дробное масштабирование поддерживается, доступные коэффициенты зависят от подключенных мониторов. Например если использовать только 4К то коэффициенты от 1.0 до 3.0 с шагом 0.25, а если в дополнение к 4К подключить FullHD, то доступные коэффициенты только 1.0 и 1.25.

Применение настроек требует перелогиниться.

Вывод

Из всех рассматриваемых окружений только Cinnamon и KDE (начиная с Plasma 5.26) масштабируют наиболее адекватно, можно настроить например 150% для High-DPI монитора (мне например 200% слишком много), и оставить 100% для второго Low-DPI монитора, и это будет работать.

Вторая часть будет о том, как программно определить системные настройки масштабирования из приложения. Поскольку в Linux нет единого API для этого, то зоопарк с этим творится еще похлеще.

Источник

Как изменить размер окна?

Frankenstine

Чтобы графическое окно терминала развернулось во весь экран, надо взаимодействовать с оконным менеджером. Можно использовать xdotool.

Blunker: можно вызвать из программы, можно скачать исходники и посмотреть, как работает.

В любом случае, консольная программа должна работать в любом терминале — и в графическом, и на физической консоли, и на терминале, подключенном через SSH/telnet, и терминале, работающем через COM-порт. Так что добавлять к ней взаимодействие с оконным менеджером я бы не стал. В крайнем случае — сделал бы дополнительный скрипт, который вызывает развёрнутый во весь экран графический терминал с нужной программой.

sfi0zy

Как можно посмотреть в мане, ioctl, который вы используете, не имеет единого стандарта, что по сути означает, что в вашей системе «может работать, а может и нет, а может будет работать, но не так как вы ожидаете». Для изменения размера терминала можно использовать escape последовательности, но для разных терминалов они могут отличаться, для XTerm примеры есть тут. Но по умолчанию они игнорируются, чтобы xterm начал их распознавать нужно изменить значение allowWindowOps:

echo "XTerm*allowWindowOps: true" > .Xresources xrdb -merge .Xresources

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

Так что вам остается только смотреть в сторону работы с оконным менеджером, но это, как вы понимаете, уже выходит за рамки «консольной программы».

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

Источник

Оцените статью
Adblock
detector