Пишу консольное приложение в Linux, вот и возникло два вопроса.
Во-первых, как программно развернуть эмулятор терминала на весь экран? Да, в Windows это делается с помощью Win API, но что делать, к примеру, в Ubuntu?
Во-вторых, как мне поменять фон в терминале во время исполнения программы? Чтобы у меня стояла не пользовательская тема, а предусмотренная мною?
Заранее спасибо.
В Linux нет понятия консольного приложения в смысле Windows.
Приложение может иметь управляющий терминал, с которым у него связаны дескрипторы стандартного ввода, вывода и вывода ошибок, и от которого могут приходить сигналы. Терминал может быть физическим или виртуальным, в последнем случае он может поддерживать или не поддерживать изменение количества строк и управление положением своего окна в графической среде (если оно вообще есть). И это зависит от программы эмулятора терминала, которых в Linux великое множество и укаждого свои возможности, однако те из них которые запускаются из X-Window, например xterm, обычно поддерживают набор команд VT102, в котором предусмотрено некоторое управление окном через escape-последовательности (ищите dtterm), но обычно оно сокращено или отключено по-умолчанию или вовсе не реализовано. Включить у xterm его можно через X-ресурсы например при запуске эмулятора терминала:
xterm -xrm 'xterm*allowWindowOps: true'
Далее в открывшемся окне попробуйте:
$ printf '\033[3;0;0t' # переместить окно в верхний левый угол
$ printf '\033[9;1t' # во весь экран
Если определена переменная окружения DISPLAY
, значит программа запущенна из X-Window, и вы можете запустить свой эмулятор терминала, указав в аргументах нужную конфигурацию и вашу программу в нём. По аргументам см. man xterm
, man gnome-terminal
, man konsole
и т.п.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Необходимо создать базовый класс который будет иметь 4 наследникаВся проблема в том, что мне нужен базовый класс в одном экземпляре, так как...
Я тут сделал свою первую нормальную консольную игру на С++Это простая игра
Подскажите где прописать код лямбда функции сравнения, например, такой: