Как сделать акриловое размытие в виндовс терминал

Обновлено: 05.07.2024

Сейчас мы используем только значение размытия по умолчанию.

Area-Settings Area-TerminalControl Help Wanted Issue-Task Product-Terminal

Самый полезный комментарий

Для пояснения, позволит ли это прозрачность окна без размытия (т.е. действовать как cmd и PS)? Было бы здорово иметь возможность читать текст за окном.

Все 38 Комментарий

Ползунок непрозрачности с переключателем для включения или выключения акрила также будет работать.

Выдергиваем бирку сортировки. Это известный объем работы, который нам просто нужно сделать.

Это может быть невозможно .

Когда я подал эту проблему, я ошибочно подумал, что у AcrylicBrush есть свойство «Blur», но это не похоже на то, что оно вообще раскрыто. См. Его страницу в MSDN .

И, глядя на эту проблему , похоже, что это просто невозможно из соображений безопасности.

В этом ключе я хотел бы, чтобы два независимых свойства устанавливали акриловые значения, когда окно находится на переднем плане, а когда оно находится в фоновом режиме. Например, я хотел бы, чтобы окно было непрозрачным 90%, когда окно имеет фокус, и 70% непрозрачности, когда он не фокусируется.

Для пояснения, позволит ли это прозрачность окна без размытия (т.е. действовать как cmd и PS)? Было бы здорово иметь возможность читать текст за окном.

Когда я подал эту проблему, я ошибочно подумал, что у AcrylicBrush есть свойство «Blur», но это не похоже на то, что оно вообще раскрыто. См. Его страницу в MSDN.

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

Я нашел (по крайней мере, один) способ добиться этого эффекта, но не через UWP. Действительно старый API эпохи Vista DwmEnableBlurBehindWindow при вызове в Windows 10 изменяет фон окна на полупрозрачный черный без размытия. Какая ирония, учитывая название функции, а? AFAICT, это не представляет никаких проблем с безопасностью, так как приложение не может прочитать содержимое показанного фона, так как оно полностью обрабатывается в dwm.exe.

При этом, не могли бы мы использовать SetLayeredWindowAttributes на корневом HWND, как это делает conhostV2? Насколько я понимаю, это также должно повлиять на дочерние окна. Если это будет неудовлетворительно, мы можем затем использовать ту же функцию, чтобы установить альфа-канал дочерних HWND на 255 (непрозрачный), а затем очистить дочерние окна прозрачным цветом, чтобы стереть фоновую заливку по умолчанию. После этого мы сможем рисовать все, что захотим, поверх окна с прозрачным фоном. Это может потребовать некоторого рефакторинга архитектуры Cascadia, но я не вижу причин, по которым это было бы невозможно. Надеюсь это поможет!

Чтобы добавить свои 2 цента, мне бы очень хотелось, чтобы у iterm2 были такие параметры прозрачности и размытия, которые есть на Mac. У вас обычная прозрачность, и вы можете добавить немного размытия, чтобы уменьшить нагрузку на глаза, но при этом четко разобрать фоновые обои или что-то еще.

Акрил просто ужасно смотрится, а вещь под окном совершенно неузнаваема.

@ zadjii-msft @ DHowett-MSFT Мы не ограничены опубликованным API как разработчики MSFT. Если вы обратитесь к сопровождающим библиотеки, вы, вероятно, сможете разобраться с этим, они строят свою вещь глупо, не значит, что мы все просто должны с этим жить, верно?

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

@ zadjii-msft @ DHowett-MSFT Мы не ограничены опубликованным API как разработчики MSFT. Если вы обратитесь к сопровождающим библиотеки, вы, вероятно, сможете разобраться с этим, они строят свою вещь глупо, не значит, что мы все просто должны с этим жить, верно?

👆🏻 это. так много этого.

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

AcrylicBrush API - не единственный выбор. Я действительно хотел бы иметь возможность просто непрозрачности без размытия, помимо акриловых опций. Странно упускать полезную функцию cmd, когда этот терминал Windows превращается в cmd-ng.

Прозрачность без размытия вообще, если это можно сделать без акрила, было бы здорово, поэтому мне не нужно нажимать среднюю команду alt-tab, чтобы что-то перепроверить.

В Mac и Linux я все время использую прозрачный терминал, потому что я часто читаю документ или какой-то исходный код в окне внизу, когда я печатаю его очень удобно.

Хотя контроль размытия был бы идеальным. (на Mac я использую 3% -ное размытие, чтобы выделить текст терминала, не делая текст позади него трудным для чтения.)

Для пояснения, позволит ли это прозрачность окна без размытия (т.е. действовать как cmd и PS)? Было бы здорово иметь возможность читать текст за окном.

Точно! Фактически, я даже не буду рассматривать возможность перехода на Терминал Windows (как бы мне это ни нравилось), пока это не будет реализовано. Я продолжаю проверять, но разочарован тем, что этого еще не сделано.

Эта функция особенно полезна для людей с одним монитором или ограниченным экраном. У меня почти всегда есть какая-то веб-страница или другой текст за моим терминалом, который я хочу читать в терминале. Я соответствующим образом настраиваю прозрачность / непрозрачность, чтобы сделать это удобным, чтобы я мог хорошо читать свой терминал.

Пожалуйста, внедрите это как можно скорее. Я с нетерпением жду возможности использовать WT и слежу за ним с момента первого выпуска Alpha.

В качестве бонуса также должно быть логическое значение, чтобы переключать, должна ли прозрачность / непрозрачность также применяться к тексту в Терминале. Это гарантирует, что текст в терминале останется ярким и видимым, чтобы его можно было отличить от любого другого текста в окнах за терминалом.

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

Если вы начнете раздвигать различные слои, такие как уровни шума, яркости или размытия - это уже не «акрил», а набор эффектов композиционного слоя.

Новое приложение Windows Terminal, может похвастаться вкладками, запускать Cmd, PowerShell, Bash и Python в одном окне. Новый терминал легко настроить, вы даже можете установить анимированные GIF-изображения в качестве фона. Вы можете использовать Командную строку, PowerShell или Linux с прозрачным фоном в терминале Windows, вот как включить эту функцию.

Наряду со способностью устанавливать собственные темы и изменять цвет фона, вы также можете применять акриловый фон для добавления эффектов прозрачности и размытия с помощью Microsoft Fluent Design System.

В этом руководстве для Windows 10, вы узнаете, как включить и настроить эффект прозрачности в терминале Windows.

Как включить Прозрачность в Windows Terminal

Чтобы включить акриловый прозрачный фон на терминале, выполните следующие действия:

Шаг 1: Откройте Windows Terminal.

Шаг 3: Нажмите «Параметры».

Подсказка. Рекомендуется использовать редактор который включает в себя схему JSON, это упрощает изменение настроек, но можно использовать обычный блокнот.

Рекомендуется использовать редактор который включает в себя схему JSON

Шаг 4: В разделе «defaults» скопируйте и вставьте следующую команду, чтобы включить прозрачность во всех приложениях командной строки:

"useAcrylic": true,

"acrylicOpacity": 0.5

В разделе «defaults» скопируйте и вставьте следующую команду

Шаг 5: И сохраните JSON файл.

Терминал Windows с прозрачным фоном для всех приложений

Если вы хотите настроить прозрачный фон, только для одного приложения, например powershell

В разделе «list» выберите профиль (приложение), чтобы установить акриловый фон. Например, после:

"commandline": "powershell.exe"

вставьте запятую ( ,) в конце строки, скопируйте и вставьте следующие строки:

"useAcrylic": true,

"acrylicOpacity": 0.5

розрачный фон, только для одного приложения, например powershell

Вы можете это повторить для Командной строки и др.

(Необязательно) В настройках «acrylicOpacity» измените значение выбранного уровня прозрачности. Например, 0.6 сделает фон менее прозрачным, а 0.4 сделает фон более прозрачным.

Сохраните файл, чтобы применить изменения.

Выполнив эти шаги, вы можете использовать Windows Terminal с акриловым фоном для определенного приложения или всех приложений сразу в зависимости от вашей конфигурации.

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

Давайте же посмотрим, как это можно сделать. Настройки терминала хранятся в файлах defaults.json и settings.json . Первый находится в папке установки и недоступен для редактирования, а вот со вторым, расположенным в папке профиля, можно работать без ограничений.

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

Windows Terminal

И выберите в качестве приложения для работы с файлом обычный Блокнот или текстовый редактор с поддержкой схем JSON .

Блокнот

Прокрутив содержимое окна, найдите блок defaults, в нём будет закомментированная строка «Put settings here that you want to apply to all profiles»,

Блок defaults

приглашающая вставить в это место пользовательские настройки, подсмотреть которые в свою очередь можно в файле defaults.json , хранящимся в папке C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_№версии .

Проводник

Откройте его Блокнотом и найдите блок profiles, в нём как раз и будут перечислены настройки.

Profiles

За цвет фона, например, отвечает параметр colorScheme, в качестве значения которого указывается название встроенной темы.

ColorScheme

Установим для примера тему «Solarized Light». Формируем такую строку и вставляем ее в указанное выше место в файле settings.json :

"colorScheme": "Solarized Light"

Solarized Light

Сохраняем файл настроек и видим, что фон терминала изменился.

Фон Windows Terminal

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

Но ведь мы еще хотели включить для терминала эффект акрила, давайте это сделаем.

За включение прозрачности отвечает параметр useAcrylic, а за степень прозрачности параметр acrylicOpacity.

Добавляем в settings.json две такие строки:

"useAcrylic": true,
"acrylicOpacity": 0.5

UseAcrylic

Чем меньше значение второго параметра, тем более прозрачным должен быть фон.

AcrylicOpacity

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

Поздравляем с днем выпуска Windows Terminal! В этом выпуске Windows Terminal Preview перешел в версию 1.11 и Windows Terminal в 1.10. Все функции из предыдущей версии теперь переходят в основной Windows Terminal, за исключением настроек терминала по умолчанию, страницы редактируемых действий и страницы Defaults пользовательского интерфейса настроек. Обе сборки терминала можно установить из Microsoft Store или со страницы выпусков GitHub. Давайте узнаем, что нового!

Акриловая строка заголовка

Добавлен новый параметр, позволяющий сделать строку заголовка акриловой. Этот параметр можно найти на странице «Внешний вид» пользовательского интерфейса настроек или установить в файле settings.json, используя "useAcrylicInTabRow": true в качестве глобального параметра.

Примечание: вам необходимо перезагрузить терминал, чтобы это вступило в силу.


Сворачивание в системный трей

Теперь вы можете при желании свернуть терминал в системный трей. Для этой функции были добавлены две новые глобальные логические настройки: minimToTray и alwaysShowTrayIcon. Если для параметра minimToTray установлено значение true, при сворачивании окна оно отправляется в область уведомлений и скрывается на панели задач. Если для параметра alwaysShowTrayIcon установлено значение true, значок в области уведомлений отображается всегда, независимо от параметра minimToTray.

Примечание: этих настроек еще нет в пользовательском интерфейсе настроек, их можно задать только в файле settings.json.

Интенсивный стиль текста

Теперь вы можете выбрать, как вы хотите, чтобы насыщенный текст отображался в вашем терминале, используя настройку профиля intenseTextStyle. Вы можете сделать свой стиль смелым, ярким, смелым и ярким или не добавлять к нему никаких дополнительных стилей. Этот параметр также можно найти в пользовательском интерфейсе настроек на странице «Внешний вид профиля».

Оси и особенности шрифта

Теперь объект шрифта принимает функции и оси OpenType в файле settings.json. Для получения более подробной информации об OpenType ознакомьтесь с документацией по функциям, а также с документацией по осям.

Изменения в поведении терминала по умолчанию

При запуске терминала через настройки терминала по умолчанию, теперь терминал не будет использовать профиль в целом (вместо использования вашего профиля по умолчанию). Настройки, которые будут применяться к терминалу при вызове в качестве терминала по умолчанию, будут определяться содержимым раздела «По умолчанию» или profiles.defaults в настройках. Кроме того, при запуске терминала по умолчанию теперь будут учитываться ваши настройки windowingBehavior.

Уведомление о критических изменениях: это поведение также применяется к действиям wt и вызовам командной строки без явного профиля (например, wt - cmd.exe).

Drag & drop с помощью кнопки «+»

Теперь вы можете перетаскивать каталоги и файлы по кнопке «+», которая затем откроет новую вкладку, панель или окно, используя заданный начальный путь. При удерживании Alt откроется новая панель. При удерживании Shift откроется новое окно. Без каких-либо ключевых модификаторов откроется новая вкладка.

Обновления панели

В этом выпуске функциональность панели претерпела множество улучшений. Огромное спасибо Шайлер Роузфилд, которая внесла большой вклад в нашу панель! Вот некоторые из основных моментов:

Переместить панель на вкладку

Используя действие movePane, теперь вы можете переместить панель на новую или существующую вкладку. Вы также можете использовать палитру команд для перемещения панелей.

Менять местами панели на вкладке

Используя действие swapPane, теперь вы можете поменять местами две панели на вкладке. Вы также можете использовать палитру команд, чтобы поменять местами панели.

Разделить вкладку в контекстном меню

Теперь вы можете щелкнуть вкладку правой кнопкой мыши и выбрать «Разделить вкладку», чтобы разделить активный профиль на новую панель.

Обновления пользовательского интерфейса настроек

Мы всегда стараемся улучшить интерфейс настроек, и в этом выпуске у нас есть некоторые обновления:

Внешний вид без фокусировки

Настройки внешнего вида, которые применяются к вашему профилю, когда он не сфокусирован, теперь находятся в пользовательском интерфейсе настроек.

Читайте также: