Июл 09

Rohan Prabhu работает в рамках GSoC над поддержкой скриптинга в KWin. Ход работ он освещает в своём блоге, и на данный момент уже успешно реализована возможность управлять окнами на экране с помощью JavaScript-сценариев.

Чтобы показать возможности своего проекта, Rohan написал простую игру «пинг-понг», в которой в качестве отталкивающих платформ могут использоваться… любые окна на экране. Увидеть «оконный понг» в движении можно на этом видео.

Игра полностью написана на JavaScript — с кодом можно ознакомиться по этой ссылке.

Апр 26

Как сообщает нам Nikhil Marathe, важный этап в развитии оконного менеджера KWin был пройден на днях — ветка kwin-tiling была объединена с основным деревом исходных кодов, и поддержкой фреймов уже можно пользоваться непосредственно из trunk’а KDE SC 4.5. Для интересующихся — вот он, заветный коммит!

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

К сожалению, нормально записать скринкаст у Nikhil’а не получилось, но он пообещал, что сделает его ещё раз.

Апр 05

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

Мар 28

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

kwinbuttonapplet-screenshot

Виджет бинарный, потому желательно устанавливать его средствами вашего дистрибутива — к счастью, пакеты для Fedora, Mandriva, openSUSE и Ubuntu прилагаются на странице виджета на kde-look.

К слову, в KDE SC 4.4 включён похожий по функциональности виджет Current Application Control, который показывает заголовок текущего окна вместе с кнопками закрытия и разворачивания, а при нажатии показывает все открытые окна. Этот виджет, в частности, используется в Plasma Netbook.

…Также, как и возможность KWin скрывать декорации развёрнутых на весь экран окон. Чтобы активировать эту возможность в стандартной оболочке Plasma, нужно открыть конфигурационный файл .kde*/share/config/kwinrc, найти в нём секцию [Windows] и прописать следующую строчку: BorderlessMaximizedWindows=true. Для того, чтобы перезапустить KWin, наберите в KRunner (Alt-F2) kwin --replace

Янв 20

Есть несколько вещей в оболочке рабочего стола KDE, что не изменялись весьма и весьма долго. Например, Martin Gräßlin припоминает, что первая версия KDE, с которой он работал (а это была ветка, 3.x причём x << 5) имела фактически тот же модуль настройки оконных декораций, что и в грядущей KDE SC 4.4. Интерфейс модуля всё это время состоял из выпадающего списка, содержащего названия всех доступных декораций, панели настройки для выбранной темы и секции с эскизом темы. Что в итоге вылилось в восхитительнейший бардак со вкладками внутри вкладок — взгляните, к примеру, на настройки темы Oxygen 4.4

В будущем релизе KDE SC 4.5 наконец-то будет новый интерфейс, можно даже сказать — настоящий порт на Qt 4. Как вы видите ниже на скриншоте, теперь он представляет собой наглядный список тем с эскизом каждой. Панель конфигурации переделана в диалог, который также может быть вызван по нажатию кнопки, расположенной рядом с превью выбранной темы.

decoration45

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

При этом темы для Aurorae рассматриваются также, как и другие декорации. Факт того, что Aurorae — это движок тем, есть незначительная деталь реализации, которая не выставляется напоказ. Также стоит отметить, что KWin наконец-то получил поддержку сервиса GHNS — Get Hot New Stuff для своих оконных декораций. И это действительно здорово. Есть надежда, что и темы для другого движка — deKorator будут также интегрированны в GHNS.

Огорчает только, что код не был готов к включению в 4.4 — ждем релиза 4.5

Дек 07

На страницах этого блога мы не раз упоминали видение разработчиков будущего «ориентированного на задачи» окружения. Идея заключается в том, что когда вы переходите от одного вида деятельности к другому, рабочее окружение должно перестраиваться под каждую задачу. Пока что это отражено в пользовательском интерфейсе исключительно в виде концепции activities (что до недавнего времени в русском переводе было «занятиями», но сейчас является «комнатами» — да простят меня переводчики, но «занятия» мне кажутся более подходящим словом). Сейчас занятия — это всего лишь группы виджетов, между которыми можно переключаться с помощью всеми любимого зум-интерфейса (или виджета переключения занятий), а с выходом Plasma Desktop 4.3 занятия стало возможным ассоциировать с виртуальными рабочими столами.

Что же сами разработчики хотят от занятий? Занятие может включать в себя группу окон различных приложений; файлы, ассоциированные с проектом; группы контактов и т.д. Идея в том, чтобы работая с одним занятием, вы как можно меньше отвлекались на другие — так что почтовый клиент будет отображать только письма, ассоциированные с занятием,  чат-клиент спрячет лишние контакты и комнаты, а браузер уберёт подальше вкладки с анекдотами и прочими вконтактами.

Конечно, это видение включает многое из того, что пока ещё не реализовано в приложениях KDE, однако немалая часть низкоуровневого кода для поддержки занятий уже написана. В частности, для KDE SC 4.4 реализована поддержка занятий в подсистеме управления метаданными Nepomuk, так что любое приложение может «поинтересоваться» у этой подсистемы, какое занятие сейчас активно (правда, в KDE SC 4.4 ни одно приложение этого пока ещё не делает).

Chani Armitage пишет, что примерный план реализации связанных с занятиями возможностей выглядит так:

  • KDE SC 4.4: зум-интерфейс всё ещё присутствует, но единственная его уникальная возможность — перемещение виджетов между занятиями. Nepomuk может сообщать приложениям, какое занятие сейчас активно.

  • KDE SC 4.5: KWin научится ассоциировать окна с занятиями и показывать их только при активации соответствующего занятия. Одно окно может быть ассоциировано с любым количеством занятий (по умолчанию новые окна показываются во всех занятиях). Вместо зум-интерфейса будет введён «менеджер занятий». Прощай, ручка слива cashew в углу экрана, мы будем скучать!

  • KDE SC 4.6: KWin будет сохранять и восстанавливать сессии (т.е. состояние окон), связанные с занятиями. Приложения начнут предлагать возможности по отображению данных, специфичных для занятий. Возможны эксперименты по автоматическому назначению занятий для новых окон.

  • KDE SC 4.7: ???

  • KDE SC 4.8: Profit!

Ноя 24

Если вы следите за новостями, то наверняка уже знаете, что проект по реализации поддержки группирования окон с помощью вкладок был объединён с основной веткой KWin (перевод на LOR’е)

window-tabbing

Solshark подготовил скринкаст с демонстрацией использования вкладок (скачать в OGV, 22mb)

К сожалению, поддержку тайлинга в основную ветку так и не включили, а поскольку заморозка функциональности для KDE 4.4 уже состоялась, то теперь мы её не увидим как минимум до KDE 4.5.

Авг 30

Недавно разработчики (и мы заодно) отчитались о состоянии дел с поддержкой Fluxbox-like вкладок в KWin, а в этот раз поговорим о тайлинге .

В список фич KWin (ветка kwin-tiling) недавно была добавлена поддержка переключения на лету между слоями, независимо для каждого виртуального десктопа: Meta+PgUp для Колонок и Meta+PgDn для Спирали.
Также было исправлено несколько багов для всех типов слоёв и, по заверению автора, kwin-tiling сейчас вполне стабилен для более глубокого тестирования. Как всегда, замеченные баги просьба ловить и сдавать в пункт приёма.

Единственное, чего не хватает для полноты функционала, это поддержки Xinerama.

Вот как это выглядит:

Авг 27

Подходит к концу Google Summer of Code и проект «Вкладки в декорациях KWin», над которым работает Jorge Mata (mata), выглядит очень неплохо. Как он сообщает в своем блоге, еще есть кое-какие моменты, требующие доработки перед слиянием с trunk, но работы над этим уже ведутся и в этом автору блога помогает его ментор (Lucas Murray).

Результатом работы Jorge стали новые возможности по группировке окон. Движок оформления окон сам решит какой элемент оформления использовать для сгруппированных окон – вкладки, список или какой-либо другой. Переключение между окнами в группе можно производить как щелчком мыши, так и с помощью горячих клавиш. Кроме того есть несколько опций по управлению группами, которые доступны в меню окна приложения.
Были реализованы вкладки в декорации Oxygen и теперь возможно изменять порядок вкладок, переносить вкладки из одной группы в другую, а также разгруппировывать простым перетягиванием.

Сгруппированные окна в виде кладок с использованием стиля оформления Oxygen

Сгруппированные окна в виде кладок с использованием стиля оформления Oxygen

Кроме того Jorge написал тестовый стиль оформления окон, а также работает над написанием простого оформления стиля оформления (такого как ion или FluxBox).

Тестовый стиль оформления окон, который использовался для тестирования новых возможностей KWin

Тестовый стиль оформления окон, который использовался для тестирования новых возможностей KWin

Разрабатываемый Jorge Mata новый минималистический стиль оформления окон для KWin

Разрабатываемый Jorge Mata новый минималистический стиль оформления окон для KWin

Также автор блога сообщает, что работает над созданием эффекта, который позволит отображать миниатюры окон в группе. GSoC закончился, однако работа над этим проектом обязательно продолжится, ну а мы будем ждать новых возможностей в KDE 4.4

Авг 11

Как мы уже писали, тайлингу в KDE с GSoC’ом не повезло, но соответствующая заявка-то была сделана!

И что самое интересное, её автор — Nikhil Marathe, не смотря на неудачу, свою идею не бросил, а начал, под мудрым руководством Martin Graesslin, медленно, но верно воплощать её в жизнь.

Задачи, которые поставил перед собой Nikhil:

  • Предоставить интуитивно-понятный фреймовый режим, с различными слоями (как в Awesome) и поддержкой для отдельных плавающих окон.
  • Предоставить D-BUS API для тайлинга, чтобы другие приложения, включая плазму, могли им легко воспользоваться.
  • Использовать композит и мышь где только это возможно
  • При перетаскивании окон к краям экрана они должны автоматически вдвое уменьшаться в размере как было предложено здесь. По возможности расширить и дополнить эту возможность.
  • Пометка/выделение – перемещать/размещать в фрейме только определенные окна.
  • Стек фреймов как цельный набор окон, может быть задвинут назад, выдвинут вперёд или передвинут, без нарушения порядка оконной мозаики. Это свойство также можно расширить и на работу несколькими мониторами.
  • Позаимствовать из KWin-эффекта ‘Present Windows’ возможность выделения пользователем окон, печатая определенный фильтр для оконного заголовка: фильтр по слову Dolphin расположит в мозаике только окна Dolphin’a, оставив окно xchat болтаться в центре.

Читать далее »