Янв 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 болтаться в центре.

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

Авг 10

Пользователи проприетарных драйверов ATI (fglrx) знают не по наслышке, что эффекты KWin в KDE4 абсолютно невозможно использовать из-за очень медленного изменения размера окон. К сожалению, ни отчеты об ошибках, ни темы на конференциях не дают внятного объяснения причин этой ошибки, кто ответственный за ее исправление и какая из частей всего стека программ требует адаптации. Для тех, кто все еще не знаком с этой проблемой — видео на YouTube.

Как можно видеть, задержка в три секунды при изменении размеров окна, распахивании и восстановлении окон делает рабочий стол с эффектами KWin абсолютно непригодным к использованию. Заметьте, отключение опции «Показывать содержимое при изменении размеров окна» не меняет положения дел.

Как пишет Джейсон А. Доненфельд (Jason A. Donenfeld) в своем блоге, особенно сложно выследить первопричину проблемы и выяснить кто должен ее устранить. После долгих споров на форуме Phoronix, представитель ATI Bridgman признал наличие проблемы, однако заявил:
«Насколько я знаю это не проблема с драйвером, поэтому я не уверен что мы вообще должны упоминать об этом в заметках о выпуске».
Также он указывает на то, что проблема появилась после патча, который не только исправлял другую ошибку, из-за которой пользователи карточек intel видели «мусор из пикселов», а также напомнил по поводу споров вокруг его включения. В итоге, как утверждает Bridgman, какой-то из компонентов стека был пропатчен, чтобы добавить поддержку видеокарт от intel, ценой совместимости с картами ATI.

Тем временем на багтрекере KDE разработчики команды KWin пришли к соглашению, что «значит, это ошибка в драйвере». Баг помечен как «RESOLVED : UPSTREAM».

А тем временем на просторах Интернет продолжают появляться сообщения о том, что ошибка все еще не исправлена. Такие сообщения можно видеть на неофициальном багтрекере FGLRX, других темах на форуме Phoronix и на форумах дистрибутивов.

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

Июл 25

В багтрекере KDE достаточно давно висят пожелания о добавлении в стандартный оконный менеджер KWin Fluxbox-like вкладок и ION-style тайлинга.

Прогресс по обоим пунктам есть, и мы вам сейчас всё расскажем. Но сначала давайте определимся, что же мы под этими словами понимаем.

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

Тайлинг (от англ. tile — черепица) — это разделение рабочего пространство на несколько не пересекающихся прямоугольных областей — фреймов, с тем, чтобы каждый фрейм использовался для вывода информации отдельным приложением. Таким образом, если в традиционных оконных менеджерах информация выводится в перекрывающихся окнах, то во фреймовых (или мозаичных) приложения используют всё видимое пространство, чтобы не перекрывать друг друга.

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

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

Июл 14

За последние полтора года вышло 3 релиза Plasma (не считая 4.3, который выйдет в конце месяца), и каждый следующий был большим шагом вперёд в развитии проекта. Работа над версией 4.4 уже началась, и недавно разработчики определили свои цели на ближайшие полгода.

Ну а мы, перечисляя намеченное программистами Plasma, потренируемся переводить специфические термины.

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

Июл 02

Одним из аргументов против KDE в извечных DE-холиварах является трудность создания новых стилей виджетов и оконных декораций. Оппоненты приводят примеры из мира Gnome: Emerald, Pixmap, Clearlooks, Aurora, Murrina и их разнообразные настройщики.

Что же может предложить KDE в этом плане? Давайте посмотрим.

Plasma Emerald Theme Generator

Это пограничный вариант, так как для работы требуется Compiz, не совсем родное для KDE приложение.

Суть этого генератора проста как две копейки: на основе любой существующей в системе plasma-темы создаются оконные декорации. Код основан на  Kdm/Ksplash/Theme Generator

Plasma Emerald Theme Generator work

Work of Plasma Emerald Theme Generator.

Найти Plasma Emerald Theme Generator можно здесь.

deKorator

deKorator — стиль оконных декораций, поддерживающий смену тем, относительно недавно был портирован на Qt4/KDE4, попутно получив пару приятных добавлений в виде встроенного предпросмотра (диалог выбора оконных декораций в «Настройках системы») и поддержки ARGB visuals.

Theme list of deKorator themes

Список тем для deKorator

Темы для деКоратора лежат здесь, также народ потихоньку портирует Emerald’овские, и уже поступило несколько фичереквестов по поводу добавления полезной в этом деле функциональности.

Aurorae Theme Engine
В отличии от Emerald и deKorator, работающих с форматом png, Aurorae, ещё один стиль декораций, дружит уже c SVG. Если вы не новичок в векторной графике, то это хороший повод раскочегарить Inkscape.

Aurorae theme engine examle theme

Пример темы для Aurorae

Движок Aurorae ещё очень молодой, построен с использованием Plasma-технологий, есть поддержка ARGB. А вот реальной непрозрачности (opaque) в нём пока нет, но планируется добавить в ближайшем будущем. Тем, помимо референсной, пока создано только три штуки, и автор поощряет креативных пользователей на создание новых. Сообщения об ошибках и запросы на дополнительную функциональность также приветствуются.
UPD
С мест сообщают, что в транке Aurorae интегрирована в KWin.

Стили виджетов

Среди стилей виджетов ситуация более напряжённая.

Есть QtCurve — универсальный движок, работающий с Qt3, Qt4 и GTK2-приложениями и обеспечивающий единообразность их внешнего вида.

40492-1

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

Bespin тоже интересный стиль: есть множество настроек, и способ обменяться с сообщниками результатами кропотливого тюнинга.

bespin_2

Но всё же, к этим стилям виджетов результаты своего креатива в графическом редакторе не приспособишь. А потому, встречайте:

QuantumStyle

QuantumStyle — это стиль виджетов для Qt4 и KDE4,  поддерживающий сменные SVG-темы. Надеюсь, ваш Inkscape после Aurorae ещё не успел остыть?

101088-1

Темы для этого движка создаются примерно так:

  1. Нарисуйте макет темы в Inkscape или любом другом векторном редакторе.
  2. Создайте файл конфигурации для вашей темы, используя Quantum Style Theme Builder.
  3. Сообщите QuantumStyle о необходимости использовать новосозданную тему, выставив «theme=yourtheme» в ~/.config/QuantumStyle/quantumstyle.qsconfig

101088-2

Теперь новый пункт должен появиться в диалоге выбора стиля в «Настройках системы» и qtconfig. Для верности можно выполнить команду kbuildsycoca4.

quantum

QuantumStyle находится на стадии RC3, но уже вполне может применяться в быту, несмотря на некоторое количество багов, недостающих виджетов и отсутствие диалога конфигурации.

101088-3

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