[kwin] Drop old kwincompositing KCM

It's going to be replaced by kwin-compositing-kcm, see
https://projects.kde.org/projects/playground/base/kwin-compositing-kcm
This commit is contained in:
Martin Gräßlin 2013-12-16 13:27:56 +01:00
parent ba2ff9757d
commit 5339d28389
12 changed files with 0 additions and 2682 deletions

View file

@ -3,7 +3,6 @@ remove_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_STRICT_ITERATORS -DQT_NO_CAST_FR
add_subdirectory( kwinoptions )
add_subdirectory( kwindecoration )
add_subdirectory( kwinrules )
# add_subdirectory( kwincompositing )
if(KWIN_BUILD_SCREENEDGES)
add_subdirectory( kwinscreenedges )
endif()

View file

@ -1,23 +0,0 @@
########### next target ###############
include_directories( ${KDEBASE_WORKSPACE_SOURCE_DIR}/kwin )
set(kcm_kwincompositing_PART_SRCS
main.cpp
ktimerdialog.cpp
)
kde4_add_ui_files(kcm_kwincompositing_PART_SRCS main.ui)
set(kwin_xml ${KDEBASE_WORKSPACE_SOURCE_DIR}/kwin/org.kde.KWin.xml)
set_source_files_properties(${kwin_xml} PROPERTIES INCLUDE "interface_util.h")
qt5_add_dbus_interface(kcm_kwincompositing_PART_SRCS ${kwin_xml} kwin_interface)
add_library(kcm_kwincompositing MODULE ${kcm_kwincompositing_PART_SRCS})
target_link_libraries(kcm_kwincompositing KF5::NewStuff ${KDE4_KCMUTILS_LIBS} ${KDE4_KDEUI_LIBS} ${X11_LIBRARIES})
install(TARGETS kcm_kwincompositing DESTINATION ${PLUGIN_INSTALL_DIR} )
########### install files ###############
install( FILES kwincompositing.desktop DESTINATION ${SERVICES_INSTALL_DIR} )
install( FILES kwineffect.knsrc DESTINATION ${CONFIG_INSTALL_DIR} )

View file

@ -1,4 +0,0 @@
#! /usr/bin/env bash
$EXTRACTRC *.ui >> rc.cpp || exit 11
$XGETTEXT *.cpp -o $podir/kcmkwincompositing.pot
rm -f rc.cpp

View file

@ -1,46 +0,0 @@
/********************************************************************
KWin - the KDE window manager
This file is part of the KDE project.
Copyright (C) 2012 Thomas Lübking <thomas.luebking@gmail.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*********************************************************************/
#ifndef MAIN_ADAPTOR_H
#define MAIN_ADAPTOR_H
#include <QtDBus/QDBusAbstractAdaptor>
#include "main.h"
namespace KWin
{
class MainAdaptor : public QDBusAbstractAdaptor
{
Q_OBJECT
Q_CLASSINFO("D-Bus Interface", "org.kde.kwinCompositingDialog")
private:
KWinCompositingConfig *m_config;
public:
MainAdaptor(KWinCompositingConfig *config) : QDBusAbstractAdaptor(config), m_config(config) { }
public slots:
Q_NOREPLY void warn(QString message, QString details, QString dontAgainKey) {
m_config->warn(message, details, dontAgainKey);
}
};
}
#endif

View file

@ -1,26 +0,0 @@
/* This file is part of the KDE libraries
Copyright (C) 2008 Laurent Montel <montel@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public License
along with this library; see the file COPYING.LIB. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef INTERFACEUTIL_H
#define INTERFACEUTIL_H
// needed by the DBUS interface
Q_DECLARE_METATYPE(QList<int>)
#endif

View file

@ -1,174 +0,0 @@
/*
* This file is part of the KDE Libraries
* Copyright (C) 2002 Hamish Rodda <rodda@kde.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with this library; see the file COPYING.LIB. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*
*/
#include "ktimerdialog.h"
#include <QLabel>
#include <QLayout>
#include <QPixmap>
#include <QTimer>
#include <QProgressBar>
#include <kwindowsystem.h>
#include <kiconloader.h>
#include <KDE/KLocalizedString>
#include <QDebug>
#include <kvbox.h>
#include "ktimerdialog.moc"
KTimerDialog::KTimerDialog(int msec, TimerStyle style, QWidget *parent,
const QString &caption,
int buttonMask, ButtonCode defaultButton,
bool separator,
const KGuiItem &user1,
const KGuiItem &user2,
const KGuiItem &user3)
: KDialog(parent)
{
setCaption(caption);
setButtons((ButtonCodes)buttonMask);
setDefaultButton(defaultButton);
setButtonFocus(defaultButton); // setDefaultButton() doesn't do this
showButtonSeparator(separator);
setButtonGuiItem(User1, user1);
setButtonGuiItem(User2, user2);
setButtonGuiItem(User3, user3);
totalTimer = new QTimer(this);
totalTimer->setSingleShot(true);
updateTimer = new QTimer(this);
updateTimer->setSingleShot(false);
msecTotal = msecRemaining = msec;
updateInterval = 1000;
tStyle = style;
KWindowSystem::setIcons(winId(), DesktopIcon("randr"), SmallIcon("randr"));
// default to canceling the dialog on timeout
if (buttonMask & Cancel)
buttonOnTimeout = Cancel;
connect(totalTimer, SIGNAL(timeout()), SLOT(slotInternalTimeout()));
connect(updateTimer, SIGNAL(timeout()), SLOT(slotUpdateTime()));
// create the widgets
mainWidget = new KVBox(this);
timerWidget = new KHBox(mainWidget);
timerWidget->setSpacing(-1);
timerLabel = new QLabel(timerWidget);
timerProgress = new QProgressBar(timerWidget);
timerProgress->setRange(0, msecTotal);
timerProgress->setTextVisible(false);
KDialog::setMainWidget(mainWidget);
slotUpdateTime(false);
}
KTimerDialog::~KTimerDialog()
{
}
void KTimerDialog::setVisible(bool visible)
{
KDialog::setVisible(visible);
if (visible) {
totalTimer->start(msecTotal);
updateTimer->start(updateInterval);
}
}
int KTimerDialog::exec()
{
totalTimer->start(msecTotal);
updateTimer->start(updateInterval);
return KDialog::exec();
}
void KTimerDialog::setMainWidget(QWidget *widget)
{
// yuck, here goes.
KVBox *newWidget = new KVBox(this);
newWidget->setSpacing(-1);
if (widget->parentWidget() != mainWidget) {
widget->setParent(newWidget);
}
timerWidget->setParent(newWidget);
delete mainWidget;
mainWidget = newWidget;
KDialog::setMainWidget(mainWidget);
}
void KTimerDialog::setRefreshInterval(int msec)
{
updateInterval = msec;
if (updateTimer->isActive())
updateTimer->start(updateInterval);
}
int KTimerDialog::timeoutButton() const
{
return buttonOnTimeout;
}
void KTimerDialog::setTimeoutButton(const ButtonCode newButton)
{
buttonOnTimeout = newButton;
}
int KTimerDialog::timerStyle() const
{
return tStyle;
}
void KTimerDialog::setTimerStyle(const TimerStyle newStyle)
{
tStyle = newStyle;
}
void KTimerDialog::slotUpdateTime(bool update)
{
if (update)
switch(tStyle) {
case CountDown:
msecRemaining -= updateInterval;
break;
case CountUp:
msecRemaining += updateInterval;
break;
case Manual:
break;
}
timerProgress->setValue(msecRemaining);
timerLabel->setText(i18np("1 second remaining:", "%1 seconds remaining:", msecRemaining / 1000));
}
void KTimerDialog::slotInternalTimeout()
{
emit timerTimeout();
slotButtonClicked(buttonOnTimeout);
}

View file

@ -1,171 +0,0 @@
/*
* This file is part of the KDE Libraries
* Copyright (C) 2002 Hamish Rodda <rodda@kde.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public License
* along with this library; see the file COPYING.LIB. If not, write to
* the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*
*/
#ifndef _KTIMERDIALOG_H_
#define _KTIMERDIALOG_H_
#include <QLabel>
#include <kdialog.h>
#include <kvbox.h>
class QTimer;
class KHBox;
class QProgressBar;
class QLabel;
/**
* Provides a dialog that is only available for a specified amount
* of time, and reports the time remaining to the user.
*
* The timer is capable of counting up or down, for any number of milliseconds.
*
* The button which is activated upon timeout can be specified, as can the
* update interval for the dialog box.
*
* In addition, this class retains all of the functionality of @see KDialog.
*
* @short A dialog with a time limit and corresponding UI features.
* @author Hamish Rodda <rodda@kde.org>
*/
class KTimerDialog : public KDialog
{
Q_OBJECT
public:
/**
* @li @p CountDown - The timer counts downwards from the seconds given.
* @li @p CountUp - The timer counts up to the number of seconds given.
* @li @p Manual - The timer is not invoked; the caller must update the
* progress.
*/
enum TimerStyle {
CountDown,
CountUp,
Manual
};
/**
* Constructor for the standard mode where you must specify the main
* widget with @ref setMainWidget() . See @see KDialog for further details.
*
* For the rest of the arguments, See @see KDialog .
*/
explicit KTimerDialog(int msec, TimerStyle style = CountDown, QWidget *parent = 0,
const QString &caption = QString(),
int buttonMask = Ok | Apply | Cancel, ButtonCode defaultButton = Ok,
bool separator = false,
const KGuiItem &user1 = KGuiItem(),
const KGuiItem &user2 = KGuiItem(),
const KGuiItem &user3 = KGuiItem());
/**
* Destructor.
*/
~KTimerDialog();
/**
* Execute the dialog modelessly - see @see QDialog .
*/
virtual void setVisible(bool visible);
/**
* Set the refresh interval for the timer progress. Defaults to one second.
*/
void setRefreshInterval(int msec);
/**
* Retrieves the @ref ButtonCode which will be activated once the timer
* times out. @see setTimeoutButton
*/
int timeoutButton() const;
/**
* Sets the @ref ButtonCode to determine which button will be activated
* once the timer times out. @see timeoutButton
*/
void setTimeoutButton(ButtonCode newButton);
/**
* Retrieves the current @ref TimerStyle. @see setTimerStyle
*/
int timerStyle() const;
/**
* Sets the @ref TimerStyle. @see timerStyle
*/
void setTimerStyle(TimerStyle newStyle);
/**
* Overridden function which is used to set the main widget of the dialog.
* @see KDialog::setMainWidget.
*/
void setMainWidget(QWidget *widget);
Q_SIGNALS:
/**
* Signal which is emitted once the timer has timed out.
*/
void timerTimeout();
public Q_SLOTS:
/**
* Execute the dialog modally - see @see QDialog .
*/
int exec();
private Q_SLOTS:
/**
* Updates the dialog with the current progress levels.
*/
void slotUpdateTime(bool update = true);
/**
* The internal
*/
void slotInternalTimeout();
private:
/**
* Prepares the layout that manages the widgets of the dialog
*/
void setupLayout();
QTimer *totalTimer;
QTimer *updateTimer;
int msecRemaining, updateInterval, msecTotal;
ButtonCode buttonOnTimeout;
TimerStyle tStyle;
KHBox *timerWidget;
QProgressBar *timerProgress;
QLabel *timerLabel;
KVBox *mainWidget;
class KTimerDialogPrivate;
KTimerDialogPrivate *d;
};
#endif

View file

@ -1,218 +0,0 @@
[Desktop Entry]
Exec=kcmshell4 kwincompositing
Icon=preferences-desktop
Type=Service
X-KDE-ServiceTypes=KCModule
X-DocPath=kcontrol/kwincompositing/index.html
X-KDE-Library=kcm_kwincompositing
X-KDE-ParentApp=kcontrol
X-KDE-System-Settings-Parent-Category=workspace-appearance-and-behavior
X-KDE-Weight=50
Name=Desktop Effects
Name[af]=Werkskerm-effekte
Name[ar]=تأثيرات سطح المكتب
Name[ast]=Efeutos del escritoriu
Name[be]=Эфекты працоўнага стала
Name[be@latin]=Asablivyja efekty rabočaha stała
Name[bg]=Ефекти на работните плотове
Name[bn]=
Name[bn_IN]=
Name[bs]=Efekti površi
Name[ca]=Efectes d'escriptori
Name[ca@valencia]=Efectes d'escriptori
Name[cs]=Efekty na ploše
Name[csb]=Efektë pùltu
Name[da]=Skrivebordseffekter
Name[de]=Arbeitsflächen-Effekte
Name[el]=Εφέ επιφάνειας εργασίας
Name[en_GB]=Desktop Effects
Name[eo]=Labortablaj efektoj
Name[es]=Efectos del escritorio
Name[et]=Töölauaefektid
Name[eu]=Mahaigaineko efektuak
Name[fa]=جلوههای رومیزی
Name[fi]=Työpöytätehosteet
Name[fr]=Effets de bureau
Name[fy]=Buroblêd effekten
Name[ga]=Maisíochtaí Deisce
Name[gl]=Efectos do escritorio
Name[gu]=
Name[he]=אפקטים לשולחן העבודה
Name[hi]=
Name[hne]=
Name[hr]=Efekti radne površine
Name[hu]=Asztali effektek
Name[ia]=Effectos de scriptorio
Name[id]=Efek Desktop
Name[is]=Skjáborðsbrellur
Name[it]=Effetti del desktop
Name[ja]=
Name[kk]=Үстел эффекттері
Name[km]=
Name[kn]= ಿ
Name[ko]=
Name[ku]=Efektên Sermaseyê
Name[lt]=Darbastalio efektai
Name[lv]=Darbvirsmas efekti
Name[mai]=
Name[mk]=Ефекти за раб. површина
Name[ml]=ിിി
Name[mr]= ि
Name[nb]=Skrivebordseffekter
Name[nds]=Schriefdischeffekten
Name[ne]=
Name[nl]=Desktopeffecten
Name[nn]=Skrivebords­effektar
Name[oc]=Efièches del burèu
Name[pa]=
Name[pl]=Efekty pulpitu
Name[pt]=Efeitos do Ecrã
Name[pt_BR]=Efeitos da área de trabalho
Name[ro]=Efecte de birou
Name[ru]=Эффекты
Name[se]=Čállinbeavdeeffeavttat
Name[si]=
Name[sk]=Efekty plochy
Name[sl]=Učinki namizja
Name[sr]=Ефекти површи
Name[sr@ijekavian]=Ефекти површи
Name[sr@ijekavianlatin]=Efekti površi
Name[sr@latin]=Efekti površi
Name[sv]=Skrivbordseffekter
Name[ta]=ி
Name[te]=
Name[tg]=Воситаҳои мизи корӣ
Name[th]=
Name[tr]=Masaüstü Efektleri
Name[ug]=ئۈستەلئۈستى ئۈنۈملىرى
Name[uk]=Ефекти стільниці
Name[uz]=Ish stoli effektlari
Name[uz@cyrillic]=Иш столи эффектлари
Name[vi]=Hiu ng màn hình
Name[wa]=Efets d' sicribanne
Name[x-test]=xxDesktop Effectsxx
Name[zh_CN]=
Name[zh_TW]=
Comment=Configure desktop effects
Comment[af]=Konfigureer die werkskerm-effekte
Comment[ar]=اضبط تأثيرات سطح المكتب
Comment[ast]=Configurar los efeutos de los escritorios
Comment[be]=Настаўленні эфектаў стала
Comment[be@latin]=Nałady asablivych efektaŭ dla rabočaha stała
Comment[bg]=Настройки на ефектите на работния плот
Comment[bn]= ি
Comment[bn_IN]= ি
Comment[bs]=Podešavanje efekata površi
Comment[ca]=Configuració dels efectes d'escriptori
Comment[ca@valencia]=Configuració dels efectes d'escriptori
Comment[cs]=Nastavení efektů pracovní plochy
Comment[csb]=Kònfigùracëjô efektów pùltu
Comment[da]=Indstil skrivebordseffekter
Comment[de]=Arbeitsflächen-Effekte einrichten
Comment[el]=Διαμόρφωση εφέ επιφάνειας εργασίας
Comment[en_GB]=Configure desktop effects
Comment[eo]=Agordi la labortablajn efektojn
Comment[es]=Configurar los efectos de los escritorios
Comment[et]=Töölauaefektide seadistamine
Comment[eu]=Konfiguratu mahaigaineko efektuak
Comment[fa]=پیکربندی جلوههای رومیزی
Comment[fi]=Työpöytätehosteiden asetukset
Comment[fr]=Configurer les effets de bureau
Comment[fy]=Buroblêd effekten ynstelle
Comment[ga]=Cumraigh maisíochtaí deisce
Comment[gl]=Configura os efectos do escritorio
Comment[gu]= િ
Comment[he]=הגדרת אפקטים לשולחן העבודה
Comment[hi]= ि
Comment[hne]= ि
Comment[hr]=Konfiguracija efekata radne površine
Comment[hu]=Az asztali effektek beállításai
Comment[ia]=Configura effectos de scriptorio
Comment[id]=Atur efek desktop
Comment[is]=Virkja viðmótsbrellur fyrir skjáborð
Comment[it]=Configura gli effetti del desktop
Comment[ja]=
Comment[kk]=Үстел эффекттерін баптау
Comment[km]=
Comment[kn]= ಿ ಿ
Comment[ko]=
Comment[lt]=Konfigūruoti darbastalio efektus
Comment[lv]=Konfigurēt darbvirsmas efektus
Comment[mai]= ि
Comment[mk]=Конфигурирајте ги ефектите за раб. површина
Comment[ml]=ിിി ി
Comment[mr]= ि
Comment[nb]=Tilpass skrivebordseffekter
Comment[nds]=Schriefdischeffekten instellen
Comment[ne]= ि
Comment[nl]=Desktopeffecten instellen
Comment[nn]=Set opp skrivebordeffektar
Comment[pa]=
Comment[pl]=Konfiguracja efektów pulpitu
Comment[pt]=Configuração dos efeitos do ecrã
Comment[pt_BR]=Configura os efeitos da área de trabalho
Comment[ro]=Configurează efectele de birou
Comment[ru]=Настройка эффектов рабочего стола
Comment[se]=Heivet čállinbeavdeeffeavttaid
Comment[si]=
Comment[sk]=Nastavenie efektov plochy
Comment[sl]=Nastavi učinke namizja
Comment[sr]=Подешавање ефеката површи
Comment[sr@ijekavian]=Подешавање ефеката површи
Comment[sr@ijekavianlatin]=Podešavanje efekata površi
Comment[sr@latin]=Podešavanje efekata površi
Comment[sv]=Anpassa skrivbordseffekter
Comment[ta]=ி ி
Comment[te]= ి
Comment[tg]=Танзимоти воситаҳои мизи корӣ
Comment[th]=
Comment[tr]=Masaüstü efektlerini yapılandır
Comment[ug]=ئۈستەلئۈستى ئۈنۈمىنى سەپلە
Comment[uk]=Налаштування ефектів стільниці
Comment[uz]=Ish stoli effektlarini moslash
Comment[uz@cyrillic]=Иш столи эффектларини мослаш
Comment[vi]=Cu hình hiu ng màn hình
Comment[wa]=Apontyî les efets d' sicribanne
Comment[x-test]=xxConfigure desktop effectsxx
Comment[zh_CN]=
Comment[zh_TW]=
X-KDE-Keywords=kwin,window,manager,compositing,effect,3D effects,2D effects,OpenGL,XRender,video settings,graphical effects,desktop effects,animations,various animations,window management effects,window switching effect,desktop switching effect,animations,animation speed,desktop animations,drivers,driver settings,rendering,render,invert effect,looking glass effect,magnifier effect,snap helper effect,track mouse effect,zoom effect,blur effect,dashboard effect,explosion effect,fade effect,fade desktop effect,fall apart effect,glide effect,highlight window effect,login effect,logout effect,magic lamp effect,minimize animation effect,mouse mark effect,scale in effect,screenshot effect,sheet effect,slide effect,sliding popups effect,taskbar thumbnails effect,thumbnail aside effect,translucency,translucency effect,transparency,window geometry effect,wobbly windows effect,startup feedback effect,dialog parent effect,dim inactive effect,dim screen effect,slide back effect,eye candy,candy,show FPS effect,show paint effect,box switch effect,cover switch effect,desktop cube effect,desktop cube animation effect,desktop grid effect,flip switch effect,outline effect,present windows effect,resize window effect
X-KDE-Keywords[bs]=kwin,prozor,menadžer,slaganje,efekti,3D efekti,2D efekti,OpenGL,XRender,Postavke videa,grafički efekti,desktop efekti,animacije ,razne animacije ,upravljanje efektima prozora,window switching effect,desktop switching effect,animacije ,brzina animacije,desktop animacije ,drajveri,podešavanje drajvera,vizualizacije,pružanje,invert efekti,Efekt igranja sa prozorima (looking glass effect),efekt povećala,snap helper effect,igranje sa strelicom miše efekti ,efekti povećavanja,efekti magljenja,efekti kontrolne ploče,efekti eksplozije,efekt izbljeđivanja,izbljeđivanje desktopa,efekti raspadanja,efekt klizanja, efekt naglašavanja prozora,login efekt,logout efekt,magični efek, teffect,minimize animation effect,mouse mark effect,scale in effect,screenshot effect,sheet effect,slide effect,sliding popups effect,taskbar thumbnails effect,thumbnail aside effect,translucency,translucency effect,transparency,window geometry effect,wobbly windows effect,startup feedback effect,dialog parent effect,dim inactive effect,dim screen effect,slide back effect,eye candy,candy,show FPS effect,show paint effect,box switch effect,cover switch effect,desktop cube effect,desktop cube animation effect,desktop grid effect,flip switch effect,outline effect,present windows effect,resize window effect
X-KDE-Keywords[ca]=kwin,finestra,gestor,composició,efecte,efectes 3D,efectes 2D,OpenGL,XRender,arranjament de vídeo,efectes gràfics,efectes d'escriptori,animacions,animacions diverses,efectes de gestió de finestra,efecte de canvi de finestra,efecte de canvi d'escriptori,animacions,velocitat d'animació,animacions d'escriptori,controladors,configuració de controladors,renderització,render,efecte d'inversió,efecte d'aparença de vidre,efecte de lupa,efecte ajudant de desplaçament,efecte de seguiment de ratolí,efecte de zoom,efecte de difuminat,efecte de tauler,efecte d'explosió,efecte d'esvaïment,efecte d'esvaïment d'escriptori,efecte de trencament,efecte de lliscament,efecte de ressaltat de finestra,efecte de connexió,efecte de desconnexió,efecte de làmpada màgica,efecte d'animació de minimització,efecte de marca de ratolí,efecte d'apropament,efecte de captura de pantalla,efecte de full,efecte de diapositiva,efecte de missatges emergents lliscants,efecte de miniatures de barra de tasques,efecte de miniatures laterals,translucidesa,efecte de translucidesa,transparència,efecte de geometria de finestra,efecte de finestres sacsejades,efecte de confirmació d'engegada,efecte de diàleg principal,efecte d'enfosquiment d'inactiu,efecte d'enfosquiment de pantalla, efecte de diapositiva prèvia,decoració,efecte per mostrar FPS,efecte de mostra de pintat,efecte de quadre de commutació,efecte de canvi de coberta,efecte de cub d'escriptori,efecte d'animació de cub d'escriptori,efecte de graella d'escriptori,efecte de canvi en roda,efecte de contorn,efecte de presentació de finestres,efecte de redimensió de finestra
X-KDE-Keywords[ca@valencia]=kwin,finestra,gestor,composició,efecte,efectes 3D,efectes 2D,OpenGL,XRender,arranjament de vídeo,efectes gràfics,efectes d'escriptori,animacions,animacions diverses,efectes de gestió de finestra,efecte de canvi de finestra,efecte de canvi d'escriptori,animacions,velocitat d'animació,animacions d'escriptori,controladors,configuració de controladors,renderització,render,efecte d'inversió,efecte d'aparença de vidre,efecte de lupa,efecte ajudant de desplaçament,efecte de seguiment de ratolí,efecte de zoom,efecte de difuminat,efecte de tauler,efecte d'explosió,efecte d'esvaïment,efecte d'esvaïment d'escriptori,efecte de trencament,efecte de lliscament,efecte de ressaltat de finestra,efecte de connexió,efecte de desconnexió,efecte de làmpada màgica,efecte d'animació de minimització,efecte de marca de ratolí,efecte d'apropament,efecte de captura de pantalla,efecte de full,efecte de diapositiva,efecte de missatges emergents lliscants,efecte de miniatures de barra de tasques,efecte de miniatures laterals,translucidesa,efecte de translucidesa,transparència,efecte de geometria de finestra,efecte de finestres sacsejades,efecte de confirmació d'engegada,efecte de diàleg principal,efecte d'enfosquiment d'inactiu,efecte d'enfosquiment de pantalla, efecte de diapositiva prèvia,decoració,efecte per mostrar FPS,efecte de mostra de pintat,efecte de quadre de commutació,efecte de canvi de coberta,efecte de cub d'escriptori,efecte d'animació de cub d'escriptori,efecte de graella d'escriptori,efecte de canvi en roda,efecte de contorn,efecte de presentació de finestres,efecte de redimensió de finestra
X-KDE-Keywords[da]=kwin,vindue,vindueshåndtering,compositing,effekter,3D-effekter,2D-effekter,OpenGL,XRender,grafiske effekter,skrivebordseffekter,animationer,diverse animationer,vindueshåndteringseffekter,effekt til skift af vinduer,effekt til skrivebordsskift,animationshastighed,skrivebordsanimationer,drivere,driverindstillinger,rendering,render,invertereffect,kikkerteffekt,forstørrelsesglaseffekt,hægtehjælpereffekt,følg musen-effekt,zoomeffect,sløreffekt,instrumentbræt,eksplosionseffekt,fade-effect,svæve-effect,fremhæv vindue-effekt,login-effekt,log ud-effekt,magisk lampe-effekt,minimer-effekt,musemærke-effekt,skalerind-effekt,skærmbillede-effekt,glide-effekt,glidende pop-op-effekt,opgavelinjeminiaturer-effekt,gennemsigtighed,transparens,ugennemsigtighed,vinduesgeometri-effekt,wobbly,blævrende vinduer,eye candy,øjeguf,vis FPS-effekt,cube,terning,gitter
X-KDE-Keywords[de]=KWin,Fenster,Verwaltung,Compositing,Effekt,2D-Effekte,3D-Effekte,OpenGL,XRender,Videoeinstellungen,Gradische Effekte,Desktopeffekte,Arbeitsflächeneffekte,Animation,Fensterverwaltungs-Effekte,Fensterwechsel-Effekte,Decktopwechsel,Arbeitsflächenwechsel,Animationsgeschwindigkeit,Deskto-Animation,Arbeitsflächen-Animation,Treiber,Treibereinstellung,Rendering,Rendern,Invertierungseffekt,Bildschirmlupeneffekt,Vergrößerungseffekt,Einrasteffekt,Maus folgen,Zooneffekt,Dashboard.Effekt,Explosionseffekt,Überblendungseffekt,Gleiteneffekt,Fensterhervorhebungs-Effekt,Anmeldungseffekt,Abmeldungseffekt,Animierter Minimierungseffekt,Mausmarkierungseffekt,Skalierungseffekt,Bildschirmeffekt,Blatteffekt,Folieneffekt,Vorschaueffekt der Kontrollleiste,Vorschaueffekt,Durchsichtigkeit,Durchsichtigkeitseffekt,Fenstergeometrieffekt,Effekt Wabernde Fenster,Programmstartanzeigeneffekt,Inaktiveffekt,Bildschirmabdunkelungseffekt,FPS-Effekt,Zeichnungsbereicheffekt,Kasten mit Minibilderneffekt,3D-Fenstergalerieeffekt,Desktopgittereffekt,3D-Fensterstapelumschalteffekt,Umrisseffekt,Fensteranzeigeeffekt,Fenstergrößenänderungseffekt
X-KDE-Keywords[el]=kwin,παράθυρο,διαχειριστής,σύνθεσης,εφέ,3D εφέ,2D εφέ,OpenGL,XRender,ρυθμίσεις βίντεο,γραφικά εφέ,εφέ επιφάνειας εργασίας,κινούμενες εικόνες,διάφορες κινούμενες εικόνες,εφέ διαχείρισης παραθύρου,εφέ εναλλαγής παραθύρου,εφέ εναλλαγής επιφάνειας εργασίας,κινούμενες εικόνες,ταχύτητα κινούμενων εικόνων,κινούμενες εικόνες επιφάνειας εργασίας,οδηγοί,ρυθμίσεις οδηγών,αποτύπωση,αποτύπωση,αναστροφή εφέ,εφέ μεγεθυντικού φακού,εφέ μεγέθυνσης,εφέ χειριστή snap,εφέ ίχνους ποντικιού,εφέ ζουμ,εφέ θόλωσης,εφέ πίνακα,εφέ έκρηξης,εφέ εξασθένισης,εφέ εξασθένισης επιφάνειας εργασίας,εφέ κατεδάφισης,εφέ ολίσθησης,εφέ τονισμού παραθύρου,εφέ εισόδου,εφέ εξόδου,εφέ μαγικής λάμπας,εφέ ελαχιστοποίησης κινούμενων εικόνων,εφέ σημείωσης με ποντίκι,εφέ κλιμάκωσης,εφέ στιγμιότυπου,εφέ φύλλου,εφέ κύλισης,εφέ κυλιόμενων αναδυόμενων,εφέ εικόνων επισκόπησης γραμμής εργασιών,εφέ παράπλευρων εικόνων επισκόπησης,διαύγεια,εφέ διαύγειας,διαφάνεια,εφέ γεωμετρίας παραθύρου,εφέ ταλαντευόμενων παραθύρων,εφέ ανάδρασης έναρξης,εφέ προγόνου διαλόγου,εφέ θαμπού αδρανούς,εφέ θολής οθόνης,εφέ πίσω κύλισης,eye candy,candy,εφέ εμφάνισης FPS,εφέ εμφάνισης σχεδιασμάτων,εφέ εναλλαγής πλαισίου,εφέ καλυμμένης εναλλαγής,εφέ κύβου επιφάνειας εργασίας,εφέ κινούμενων εικόνων κύβου επιφάνειας εργασίας,εφέ καννάβου επιφάνειας εργασίας,εφέ εναλλαγής στοίβας,εφέ περιγράμματος,εφέ παρουσίας παραθύρου,εφέ αλλαγής μεγέθους παραθύρου
X-KDE-Keywords[es]=kwin,ventana,gestor,composición,efecto,efectos 3D,efectos 2D,OpenGL,XRender,preferencias de vídeo,efectos gráficos,efectos del escritorio,animaciones,animaciones diversas,efectos de la gestión de ventanas,efecto de cambio de ventana,efecto de cambio de escritorio,velocidad de animación,animaciones del escritorio,controladores,preferencias del controlador,renderización,renderizar,efecto de inversión,efecto de espejo,efecto de lupa,efecto auxiliar de instantánea,efecto de seguimiento del ratón,efecto de ampliación,efecto borroso,efecto del tablero de mandos,efecto de explosión,efecto de desvanecimiento,efecto de desvanecimiento del escritorio,efecto de romper en pedazos,efecto de planeo,efecto de resaltar ventanas,efecto de inicio de sesión,efecto de final de sesión,efecto de lámpara mágica,efecto de animación al minimizar,efecto de marcas del ratón,efecto de escalado,efecto de captura de pantalla,efecto de hoja,efecto de deslizamiento,efecto de ventanas emergentes deslizantes,efecto de miniaturas de la barra de tareas,efecto de miniaturas laterales,transparencia,efecto de transparencia,efecto de geometría de las ventanas,efecto de ventanas gelatinosas,efecto de notificación de inicio,efecto de padre de la ventana,efecto de oscurecer inactiva,efecto de oscurecer la pantalla,efecto atrás,efectos atractivos,efecto de mostrar FPS,efecto de mostrar pintura,efecto de selección de ventana en caja,efecto de selección de ventana en modo carátula,efecto de cubo del escritorio,efecto de animación del cubo del escritorio,efecto de rejilla del escritorio,efecto de selección de ventana en modo cascada,efecto de contorno,efecto de presentación de ventanas,efecto de cambiar tamaño de las ventanas
X-KDE-Keywords[et]=kwin,aken,hakdur,komposiit,efekt,3D efektid,ruumilised efektid,2D efektid,OpenGL,XRender,videoseadistused,graafikaefektid,töölauaefektid,animatsioonid,eri animatsioonid,aknahaldusefektid,akna lülitamise efekt,töölaua lülitamise efekt,animatsioonid,animatsiooni kiirus,töölauaanimatsioonid,draiverid,draiveri seadistused,renderdamine,renderdus,inverteerimisefekt,pikksilmaefekt,suurendusklaasiefekt,tõmbe abistaja efekt,hiire jälgimise efekt,suurendusefekt,häguefekt,vidinavaate efekt,plahvatuseefekt,hääbumisefekt,töölaua kadumise efekt,lagunemise efekt,liuglemisefekt,akna esiletõstmise efekt,sisselogimisefekt,väljalogimisefekt,maagilise laterna efekt,minimeerimisanimatsiooni efekt,hiirega tähistamise efekt,skaleerimisefekt,ekraanipildi efekt,leheefekt,slaidiefekt,liuglevate hüpikakende efekt,tegumiriba pisipiltide efekt,kõrvalasuvate pisipiltide efekt,läbipaistvus,läbipaistvuseefekt,akende geomeetria efekt,vonklevate akende efekt,käivitamise tagasiside efekt,dialoogi eellase efekt,tuhmi mitteaktiivse efekt,tuhmi ekraani efekt,tagasiliugumise efekt,silmarõõm,FPS-i näitamise efekt,joonistamise näitamise efekt,kastina lülitamise efekt,vaiplülitamise efekt,töölauakuubiku efekt, töölauakuubiku animatsiooni efekt,töölauavõrgustiku efekt,pööramisega lülitamise efekt,kontuuriefekt,aktiivsete akende efekt, akende suuruse muutmise efekt
X-KDE-Keywords[fi]=kwin,ikkuna,ohjelma,ikkunointi,ikkunointiohjelma,ikkunanhallinta,koostaminen,tehoste,3D-tehosteet,2D-tehosteet,3U-tehosteet,2U-tehosteet,OpenGL,XRender,videoasetukset,kuva-asetukset,graafiset tehosteet,työpöytätehosteet,animaatiot,animoinnit,useita animaatioita,eri animaatiot,ikkunanhallintatehosteet,ikkunan vaihtotehoste,työpöydän vaihtotehoste,animaatiot,animoinnit,animointinopeus,työpöytäanimaatiot,ajurit,ajuriasetukset,piirtojärjestelmä,renderöijä,renderoija,piirtäminen,renderöinti,renderointi,käänteisten värien tehoste,suurennuslasitehoste,pikaopastajatehoste,hiiren jäljitystehoste,zoomaustehoste,sumennustehoste,kojelautatehoste,räjähdystehoste,häivtytystehoste,työpöydän häivytystehoste,hajoamistehoste,ikkunaliukutehoste,ikkunan korostustehoste,sisäänkirjautumistehosteuloskirjautumistehoste,taikalampputehoste,pienennysanimaatiotehoste,hiiren jäljet -tehoste,skaalaustehoste,kuvankaappaustehoste,arkkitehoste,liuutustehoste,liukuvat ponnahdusikkunat -tehoste,tehtäväpalkin esikatselukuvat -tehoste,esikatselukuva vieressä -tehoste,läpikuultavuus,läpinäkyvyys,läpikuultavuustehoste,läpinäkyvyystehoste,ikkunan mitat -tehoste,heiluvat ikkunat -tehoste,käynnistymisen ilmaisemisen tehoste,isäikkunatehoste,passiivisen himmennystehoste,näytön himmennystehoste,taakse liuutus -tehoste,silmäkarkki,karkki,FPS-näyttötehoste,näytä FPS -tehoste,piirtämisen näyttämistehoste,laatikkovaihtajatehoste,levykansivaihtajatehoste,työpöytäkuutiotehoste,työpöytäkuutioanimaatiotehoste,työpöydän ruudukko -tehoste,kääntövaihtajatehoste,ääriviivatehoste,ikkunoiden esittämistehoste,ikkunan koon muuttamistehoste,window,manager,compositing,effect,3D effects,2D effects,video settings,graphical effects,desktop effects,animations,various animations,window management effects,window switching effect,desktop switching effect,animations,animation speed,desktop animations,drivers,driver settings,rendering,render,invert effect,looking glass effect,magnifier effect,snap helper effect,track mouse effect,zoom effect,blur effect,dashboard effect,explosion effect,fade effect,fade desktop effect,fall apart effect,glide effect,highlight window effect,login effect,logout effect,magic lamp effect,minimize animation effect,mouse mark effect,scale in effect,screenshot effect,sheet effect,slide effect,sliding popups effect,taskbar thumbnails effect,thumbnail aside effect,translucency,translucency effect,transparency,window geometry effect,wobbly windows effect,startup feedback effect,dialog parent effect,dim inactive effect,dim screen effect,slide back effect,eye candy,candy,show FPS effect,show paint effect,box switch effect,cover switch effect,desktop cube effect,desktop cube animation effect,desktop grid effect,flip switch effect,outline effect,present windows effect,resize window effect
X-KDE-Keywords[fr]=kwin, fenêtre, gestionnaire, composition, effet, effets 3D, effets 2D, OpenGL, XRender, paramètres vidéo, effets graphiques, effets de bureau, animations, animations variés, effets de gestion des fenêtres, effets de changement de fenêtre, effets de changement de bureau, animations, vitesse des animations, animation du bureau, pilotes, paramètres du pilote, rendu, rendre, effet d'inversion, effet de verre, effet de loupe, effet d'aide au positionnement, effet de repérage de la souris, effet de zoom,effet de flou, effet du tableau de bord, effet d'explosion, effet de fondu, effet de fondu du bureau, effet d'effondrement, effet de glissement, effet de mise en valeur de la fenêtre, effet de connexion, effet de déconnexion, effet de lampe magique, effet de minimisation de l'application, effet de marque de la souris, effet de gradation, effet de capture d'écran, effet de feuille, effet de glisse, effet d'annotations glissantes, effet d'aperçu de la barre de tâche, effet d'aperçu sur le coté,translucidité, effet de translucidité, transparence, effet de géométrie de la fenêtre, effet de fenêtre en gélatine, effet du témoin de démarrage, effet de dialogue parent, effet d'obscurcissement de fenêtre inactive, effet d'obscurcissement du bureau, effet de glissement en arrière, confort visuel, beauté, effet d'affichage du FPS, effet d'affichage des zones peintes, effet de défilement dans une boîte, effet de défilement circulaire, effet de bureaux en cube, effet d'animation de cube de bureaux, effet de bureaux en grille, effet d'empilement en perspective, effet d'esquisse, effet de présentation des fenêtres, effet de redimensionnement des fenêtres
X-KDE-Keywords[gl]=kwin,xanela,xestor,composición,efecto,efectos 3D,efectos 2D,OpenGl,XRender, configuración da imaxe,efectos gráficos, efectos do escritorio, animacións, efectos da xestión das xanelas,troco de xanela,animación,velocidade,controlador, render
X-KDE-Keywords[hu]=kwin,ablak,kezelő,kompozitálás,hatás,3D hatás,2D hatás,OpenGL,XRender,videobeállítások,grafikai hatások,asztali hatások,animációk,különféle animációk,ablakkezelő hatások,ablakváltó hatások,asztalváltó hatások,animációk,animáció sebesség,asztali animációk,meghajtók,meghajtó beállítások,leképezés,renderelés,fordított hatás,tükörhatás,nagyító hatás,elkapás segítő hatás,egérkövetés hatás,nagyítás hatás,elmosás hatás,áttekintő hatás,robbanás hatás,elhalványulás hatás,asztal elhalványulása hatás,széteső hatás,csúszás hatás,ablak kiemelése hatás,belépés hatás,kilépés hatás,varázslámpa hatás,minimalizálás animáció hatás,egérjelölés hatás,méretezés hatás,képernyőkép hatás,munkalap hatás,dia hatás,csúszó felugrók hatás,feladatsáv bélyegképek hatás,bélyegképek félre hatás,áttetszőség,áttetszőség hatás,átlátszóság,ablak geometria hatás,ingó ablak hatás,indulási visszajelzés hatás,párbeszédablak szülő hatás,dim inaktív hatás,dim kijelző hatás,dia vissza hatás,látványelem,édesség,FPS megjelenítése hatás,festék megjelenése hatás,dobozváltás hatás,eltakarás váltás hatás,asztal kocka hatás,asztal kockaanimáció hatás,asztal rács hatás,tükrözésváltás hatás,körvonal hatás,jelenlegi ablakok hatás,ablak átméretezése hatás
X-KDE-Keywords[ia]=kwin,fenestra,gerente,componente,effecto,effectos 3D,effectos 2D,OpenGL,XRender,preferentias de video,effectos graphic,effectos de scriptorio,animationes,varie animationes,effectos de gestion de genestra,effecto de commutation de fenestra, effecto de commutation de scriptorio,animationes,velocitate de animation,animationes de scriptorio,drivers, preferentias de driver,rendering,render,effecto de inverter,effecto speculo,effecto aggrandor,effecto de adjuta de photo (snap),effecto de tracia de mus,effecto zoom,effecto indistincte,effecto tabuliero,effecto explosion,effecto discolorate,effect de scriptorio discolorate,effecto de collapsar,effecto glissante, effecto de fenestra evidentiare,effecto de authenticar se,effecto de clauder session ,effecto lampada magic,minimisa effecto de animation,effecto de marca de mus,effecto de scalar,effecto de captura schermo,effecto folio,effecto diapositiva, effecto de popups glissante,effecto de miniatura de barra de carga,effecto de miniatura a parte,translucentia, effecto translucentia,transparentia, effecto de geometria de fenestra, effecto de fenestra tremulante,effecto de retro action, effecto de geniytor de dialogo, effecto inactive obscur, effecto de schermo obscur,effecto de retro glissar,eye candy,candy,monstra effecto FPS,monstra effecto pictura, effecto commuta cassa,effecto de commuta coperturat,effecto cubo de scriptorio,animation de cubo de scriptorio,effecto grillia de scriptorio,effecto flip switch,effecto contorno,effecto de fenestra actual,effect de fenestra redimensionante
X-KDE-Keywords[it]=kwin,finestra,gestore,composizione,effetto,effetti 3D,effetti 2D,OpenGL,XRender,impostazioni video,effetti grefici,effetti desktop,animazioni,animazioni varie, effetti del gestore delle finestre,effetto dello scambiafinestre, effetto dello scambiatore di desktop,animazioni,velocità animazioni,animazioni desktop,driver,impostazioni driver,disegno,rendering,effetto invertito,effetto vetro,effetto lente,effetto snap helper,effetto evidenzia mouse,effetto ingrandimento, effetto sfocatura,effetto quadro degli strumenti,effetto esplosione,effetto dissolvenza,effetto dissolvenza desktop,effetto caduta,effetto planatura,effetto evidenziazione finestra,effetto schermata di accesso, effetto disconnessione,effetto lampada magica,effetto animazione di minimizzazione,effetto tracciatura mouse, effetto scalatura,effetto istantanea,effetto foglio,effetto diapositiva,effetto scivolamento,effetto icone nella barra delle applicazioni,effetto miniatura su un lato,translucenza,effetto translucenza, trasparenza,effetto geometria finestra,effetto finestre tremolanti,effetto segnale di avvio,effetto finestra padre,effetto oscura finestra inattiva,effetto oscura schermo,effetto scivola all'indietro,gradevole,effetto gradevole,effetto mostra FPS,effetto ridisegno,effetto scambio cubi,effetto scambio copertina,effetto cubi del desktop,effetto animazione cubi del desktop,effetto griglia desktop,effetto scambiatore con inversione,effetto riquadro,effetto finestra presente,effetto ridimensionamento finestra
X-KDE-Keywords[kk]=kwin,window,manager,compositing,effect,3D effects,2D effects,OpenGL,XRender,video settings,graphical effects,desktop effects,animations,various animations,window management effects,window switching effect,desktop switching effect,animations,animation speed,desktop animations,drivers,driver settings,rendering,render,invert effect,looking glass effect,magnifier effect,snap helper effect,track mouse effect,zoom effect,blur effect,dashboard effect,explosion effect,fade effect,fade desktop effect,fall apart effect,glide effect,highlight window effect,login effect,logout effect,magic lamp effect,minimize animation effect,mouse mark effect,scale in effect,screenshot effect,sheet effect,slide effect,sliding popups effect,taskbar thumbnails effect,thumbnail aside effect,translucency,translucency effect,transparency,window geometry effect,wobbly windows effect,startup feedback effect,dialog parent effect,dim inactive effect,dim screen effect,slide back effect,eye candy,candy,show FPS effect,show paint effect,box switch effect,cover switch effect,desktop cube effect,desktop cube animation effect,desktop grid effect,flip switch effect,outline effect,present windows effect,resize window effect
X-KDE-Keywords[km]=kwin,window,manager,compositing,effect,3D effects,2D effects,OpenGL,XRender,video settings,graphical effects,desktop effects,animations,various animations,window management effects,window switching effect,desktop switching effect,animations,animation speed,desktop animations,drivers,driver settings,rendering,render,invert effect,looking glass effect,magnifier effect,snap helper effect,track mouse effect,zoom effect,blur effect,dashboard effect,explosion effect,fade effect,fade desktop effect,fall apart effect,glide effect,highlight window effect,login effect,logout effect,magic lamp effect,minimize animation effect,mouse mark effect,scale in effect,screenshot effect,sheet effect,slide effect,sliding popups effect,taskbar thumbnails effect,thumbnail aside effect,translucency,translucency effect,transparency,window geometry effect,wobbly windows effect,startup feedback effect,dialog parent effect,dim inactive effect,dim screen effect,slide back effect,eye candy,candy,show FPS effect,show paint effect,box switch effect,cover switch effect,desktop cube effect,desktop cube animation effect,desktop grid effect,flip switch effect,outline effect,present windows effect,resize window effect
X-KDE-Keywords[nb]=kwin,vindusbehandler,sammensetting,effekt,3D-effekter,2D-effekter,OpenGL,XRender,videoinnstillinger,grafiske effekter,skrivebordseffekter,animasjoner,diverse animasjoner,vindusbytteeffekter,effekter ved skrivebordsbytte,animasjoner,animasjonsfart,skrivebordsanimasjoner,drivere,driverinnstillinger,opptegning,opptegner,inverteringseffekt,speileffekt,lupeeffekt,gripehjelpereffekt,musesporeffekt,forstørreeffekt,sløreffekt,kontrollpulteffekt,eksplosjonseffekt,uttoningseffekt,skrivebordtoningseffekt,henfallseffekt,glidereffekt,framhev vindu-effekt,innlogingseffekt,utloggingsefffekt,magisk lampe-effekt, animasjonseffekt ved vindusminimering,musmerkeeffekt,innskaleringseffekt,skjermdumpeffekt,ark-effekt,lysbildeeffekt,glidende oppspretteffekt,effekt for minibilder på oppgavelinja,effekt for minibilder på siden,gjennomskinnelighetseffekt,gjennomsiktighet,vindusgeometri-effekt,skjelvende vinduer-effekt,effekt for oppstartsmelding,effekt for foreldredialog,effekt for mørk inaktiv,effekt for mørk skjerm,gli tilbake-effekt,øyesnop,snop,vis FPS-effekt,vis malingseffekt,boksbytteeffekt,lokkbytteeffekt,skrivebordsterning-effekt,effekt for animert skrivebordsterning,effekt for skrivebordsruter,effekt for flipp-bytte,omriss-effekt,effekt for vinduer tilstede,effekt for vinduer som endrer størrelse
X-KDE-Keywords[nl]=kwin,venster,beheerder,compositing,effect,3D effecten,2D effecten,OpenGL,XRender,video-instellingen,grafische effecten,bureaubladeffecten,animaties,verrschillende animaties,vensterbeheereffecten,vensteromschakeleffect, bureaublad-omschakeleffect,animaties,animatiesnelheid,bureaubladanimaties,stuurprogramma's,stuurprogramma-instellingen,rendering,render,inversieeffect,vergrootglaseffect,vergrotingseffect,snaphelpereffect,trackmuiseffect,zoomeffect,vervagingseffect,dashboardeffect,explosie-effect,uitvaageffect,uitvaagbureaubladeffect,uiteenvaleffect,glijeffect,vebsteraccentueringseffect,aanmeldeffect,afmeldeffect,magische lampeffect,animatie-effect minimaliseren,muismarkeringseffect,inschaaleffect,schermafdrukeffect,bladeneffect,diaeffect,glijdende pop-upseffect,taakbalkminiatuureffect,miniatuur-opzijeffect,doorzichtigheid,doorzichtigheidseffect,transparantie,vensterafmetingeneffect,wiebelende vensterseffect,opstartterugkoppeleffect,dialoogoudereffect,dim bij inactiviteitseffect,dim het schermeffect,schuif terugeffect,oogstrelend,snoepgoed,FPS toneneffect,verf toneneffect,vak omschakeleffect,deksel schakelaareffect,bureaublad kubuseffect,bureaublad kubus animatie-effect,bureaubladrastereffect,omschakeleffect,omrandingeffect,huidig venstereffect, wijzig grootte van venstereffect
X-KDE-Keywords[pl]=kwin,okno,menadżer,kompozycje,efekt,efekty 3D,efekty 2D,OpenGL,XRender, ustawienia wideo,efekty graficzne,efekty pulpitu,animacje,różne animacje,efekty zarządzania oknami,efekty przełączania okien,efekty przełączania pulpitów,animacje, szybkość animacji,animacje pulpitu,sterowniki,ustawienia sterowników,renderowania, efekt odwrócenia,szkło powiększające,efekt powiększenia,efekt pomocnika przyciągania, efekt śledzenia myszy,efekt przybliżenia,efekt rozmycia,efekt tablicy,efekt eksplozji,efekt zanikania,efekt zanikania pulpitu,efekt rozpadania,efekt slajdu,efekt podświetlania okna, efekt logowania,efekt wylogowywania,efekt magicznej lampy,efekt animacji minimalizacji, efekt znacznika myszy,efekt skalowania,efekt zrzutu ekranu,efekt arkusza,efekt slajdu,efekt wysuwających się elementów wyskakujących,efekt prześwitywania,przezroczystość,efekt geometrii okna,efekt chwiejnych okien,efekt odczuć przy starcie,efekt okna rodzica,efekt przyciemniania nieaktywnych,efekt przyciemniania ekranu,efekt przesuwania do tył,efekt pokazania ilości klatek na sekundę
X-KDE-Keywords[pt]=kwin,janela,gestor,composição,efeito,efeitos 3D,efeitos 2D,OpenGL,XRender,configuração do vídeo,efeitos gráficos,efeitos do ecrã,animações,diversas animações,~efeitos de gestão das janelas,efeito de mudança da janela,efeito de mudança de ecrã,animações,velocidade da animação,animações do ecrã,controladores,configuração do controlador,desenho,efeito de inversão,efeito de lupa,efeito de lente,efeito de ajuste,efeito de seguimento do rato,efeito de ampliação,efeito de borrão,efeito de quadro,efeito de explosão,efeito de desvanecimento,efeito de desvanecimento do ecrã,efeito de queda,efeito de deslizamento,efeito de realce da janela,efeito de autenticação,efeito de encerramento da sessão,efeito de lâmpada mágica,efeito de animação da minimização,efeito de marcação do rato,efeito de ampliação,efeito de captura do ecrã,efeito de folha,efeito de deslizamento,efeito de janelas deslizantes,efeito de miniaturas das tarefas,efeito de miniatura ao lado,translucidez,efeito de translucidez,transparência,efeito de geometria da janela,efeito de janelas ondulantes,efeito da reacção ao arranque,efeito da janela-mãe,efeito de escurecimento da janela inactiva,efeito de escurecimento do ecrã,efeito de deslize para trás,efeitos visuais,visuais,efeito para mostrar FPS,efeito de pintura,efeito de mudança em caixa,efeito de mudança em capas,efeito de cubo do ecrã,efeito de animação do cubo do ecrã,efeito da grelha do ecrã,efeito de viragem de página,efeito de realce,efeito de apresentação das janelas,feito de dimensionamento das janelas
X-KDE-Keywords[pt_BR]=kwin,janela,gerenciador,composição,efeito,efeitos 3D,efeitos 2D,OpenGL, XRender,configuração do vídeo,efeitos gráficos,efeitos da área de trabalho,animações,diversas animações,efeitos do gerenciamento das janelas,efeito de mudança da janela,efeito de mudança de área de trabalho,animações,velocidade da animação,animações da área de trabalho,controladores,drivers,configuração do driver,desenho,efeito de inversão,efeito de lupa,efeito de lente,efeito de ajuste,efeito de seguimento do mouse,efeito de ampliação,efeito de borrão,efeito de quadro,efeito de explosão,efeito de desvanecimento,efeito de desvanecimento da área de trabalho,efeito de queda,efeito de deslizamento,efeito de realce da janela,efeito de autenticação,efeito de encerramento da sessão,efeito de lâmpada mágica,efeito de animação da minimização,efeito de marcação do mouse,efeito de ampliação,efeito de captura de tela,efeito de folha,efeito de deslizamento,efeito de janelas deslizantes,efeito de miniaturas das tarefas,efeito de miniatura ao lado,translucidez,efeito de translucidez,transparência,efeito de geometria da janela,efeito de janelas ondulantes,efeito de reação à inicialização,efeito da janela-mãe,efeito de escurecimento da janela inativa,efeito de escurecimento da tela,efeito de deslizamento para trás,efeitos visuais,visuais,efeito para mostrar FPS,efeito de pintura,efeito de mudança em caixa,efeito de mudança em capas,efeito de cubo da área de trabalho,efeito de animação do cubo da área de trabalho,efeito da grade da área de trabalho,efeito de virada de página,efeito de realce,efeito de apresentação das janelas,efeito de dimensionamento das janelas
X-KDE-Keywords[ru]=kwin,window,manager,compositing,effect,3D effects,2D effects,OpenGL,XRender,video settings,graphical effects,desktop effects,animations,various animations,window management effects,window switching effect,desktop switching effect,animations,animation speed,desktop animations,drivers,driver settings,rendering,render,invert effect,looking glass effect,magnifier effect,snap helper effect,track mouse effect,zoom effect,blur effect,dashboard effect,explosion effect,fade effect,fade desktop effect,fall apart effect,glide effect,highlight window effect,login effect,logout effect,magic lamp effect,minimize animation effect,mouse mark effect,scale in effect,screenshot effect,sheet effect,slide effect,sliding popups effect,taskbar thumbnails effect,thumbnail aside effect,translucency,translucency effect,transparency,window geometry effect,wobbly windows effect,startup feedback effect,dialog parent effect,dim inactive effect,dim screen effect,slide back effect,eye candy,candy,show FPS effect,show paint effect,box switch effect,cover switch effect,desktop cube effect,desktop cube animation effect,desktop grid effect,flip switch effect,outline effect,present windows effect,resize window effect,окно,диспетчер,графический,эффект,3D эффект,2D эффект,параметры видео,графические эффекты,эффекты рабочего стола,анимация,эффекты управления окнами,эффект переключения окна,эффект переключения рабочих столов,анимация,скорость анимации,анимация рабочего стола,драйверы,параметры драйверов,рендеринг,визуализация,цветопередача,режим инверсии,эффект зеркала,эффект лупы,эффект разметки экрана,эффект движения мыши на экране, эффект масштабирования,эффект размытия,приборная доска,эффект взрыва,эффект затухания,эффект затухания рабочего стола,эффект распада,эффект скольжения,подсветка окна,вход в систему,выход из системы,эффект волшебной лампы,анимация сворачивания,рисование мышью,анимация появления,снимок экрана,вкладки,эффект скольжения,анимация всплывающих окон,миниатюра окна у панели задач,миниатюра окна на краю экрана,полупрозрачность,прозрачность,геометрия окна,дрожащие окна, отклик запуска приложения,затемнение основного окна,затемнение неактивных окон,затемнение экрана,эффект выскальзывания,украшения,красивые,график производительности,подсвечивать отрисовку,переключение с миниатюрами,карусель,куб с рабочими столами,анимация куба с рабочими столами,все рабочие столы,перелистывание,контур,окна в кнопке,все окна,изменение размера окна
X-KDE-Keywords[sk]=kwin, okno, manažér, kompozícia, efekt, 3D efekty, 2D efekty, OpenGL, XRender,nastavenia obrazu, grafické efekty, desktop efekty, animácie, rôzneanimácie, efekty správa okien, okno prepínanie efektov, stolnýspínacie efekt, animácie, animácie rýchlosť, stolný animácie, ovládače,nastavenie ovládača, renderovanie, poskytnúť, invertný skutočnosti zrkadlá účinok,lupa efekt, snap pomocník efekt, trať myš efekt, zoom efekt, rozmazaniuúčinok, prístrojová doska efekt, výbuch efekt, fade efekt, fade stolný efekt,rozpadnúť účinok, zostupovej efekt, zvýraznenie okno efekt, efekt prihlásenie, odhlásenieúčinok, čarovnú lampu účinok, minimálny efekt animácie, myši značky efekt, mierkav skutočnosti, screenshot efekt, list efekt, snímka efekt, posuvné vyskakovacie okná účinok,miniatúry na hlavnom paneli efekt, náhľad stranou efekt, priesvitnosť, translucencieúčinok, transparentnosť, okno geometrie efekt, vratkú okná efekt, uvedenie do prevádzkyspätná väzba, dialóg rodič efekt, matný efekt neaktívny, stlmiť obrazovku efekt,posunutím zadnej efekt, pastva pre oči, cukrík zobraziť FPS efekt, zobrazovať farby efekt, boxprepínač efekt, kryt prepínače účinok, desktop, desktop cube efekt kocky animácieúčinok, Desktop Grid efekt, flip switch efekt, obrys účinok, súčasné oknáúčinok, zmena veľkosti okna efekt
X-KDE-Keywords[sl]=kwin,upravljalnik oken,skladanje,učinek,učinki 3d,učinki 2d,opengl,xrender,grafične nastavitve,grafični učinki,namizni učinki,animacije,upravljanje z okni,preklapljanje oken,preklapljanje namizij,hitrost animacij,namizne animacije,gonilniki,izrisovanje,obrni,povečevalno steklo,pripenjalni pomagalnik,sledenje miški,približanje,zabriši,nadzorna plošča,eksplozija,pojemanje,pojemanje namizja,razpad,drsenje,poudari okno,učinek prijave,učinek odjave,čarobna svetilka,animacija skrčenja,risanje,animirano pojavljanje,zaslonska slika,list,drsenje,drseča pojavna okna,sličice za opravilno vrstico,sličica ob strani,prosojnost,prozornost,geometrija okna,majava okna,odziv zagona,nadrejeno pogovorno okno,potemni nedejavno,potemni zaslon,zdrs v ozadje,vidni bonbončki,pokaži sličice na sekundo,izrisovanje,preklapljanje - škatla,preklapljanje - ovitki,kocka z namizji,animacija kocka z namizji,mreža namizij,preklapljanje - sklad,oris,predstavi okna,spreminjanje velikosti okna
X-KDE-Keywords[sr]=kwin,window,manager,compositing,effect,3D effects,2D effects,OpenGL,XRender,video settings,graphical effects,desktop effects,animations,various animations,window management effects,window switching effect,desktop switching effect,animations,animation speed,desktop animations,drivers,driver settings,rendering,render,invert effect,looking glass effect,magnifier effect,snap helper effect,track mouse effect,zoom effect,blur effect,dashboard effect,explosion effect,fade effect,fade desktop effect,fall apart effect,glide effect,highlight window effect,login effect,logout effect,magic lamp effect,minimize animation effect,mouse mark effect,scale in effect,screenshot effect,sheet effect,slide effect,sliding popups effect,taskbar thumbnails effect,thumbnail aside effect,translucency,translucency effect,transparency,window geometry effect,wobbly windows effect,startup feedback effect,dialog parent effect,dim inactive effect,dim screen effect,slide back effect,eye candy,candy,show FPS effect,show paint effect,box switch effect,cover switch effect,desktop cube effect,desktop cube animation effect,desktop grid effect,flip switch effect,outline effect,present windows effect,resize window effect,Квин,прозор,менаџер,слагање,ефекат,3Д ефекти,2Д ефекти,опенГЛ,Иксрендер,видео поставке,графички ефекти,ефекти површи,анимације,разне анимације,ефекти управљања прозорима,ефекти мењања прозора,ефекти мењања површи,анимације,брзина анимације,анимације површи,драјвери,поставке драјвера,рендеровање,исцртавање,ефекат извртања,ефекат лупе,ефекат уклапања,ефекат праћења миша,ефекат увеличања,ефекат замућења,инструмент-табла,ефекат експлозије,ефекат утапања,ефеката утапања површи,ефекат распадања,ефекат распарчавања,ефекат клизања,ефекат истицања прозора,ефекат пријављивања,ефекат одјављивања,ефекат магичне лампе,ефекат минимизовања,ефекат трагова миша,ефекат скалирања,ефекат снимка екрана,ефекат листа,ефекат клизања,ефекат клизајућих искакача,ефекат ефекат сличица на траци задатака,ефекат прозирности,прозирност,провидност,ефекат геометрије прозора,ефекат лелујајућих прозора,ефекат одзива покретања,ефекат родитељског дијалог,ефекат потамњења неактивног,ефекат потамњења екрана,шминка,ефекат приказивања,ефекат кутијастог пребацивања,ефекат коцке површи,ефекат анимације коцке површи,ефекат мреже површи,ефекат превртања,ефекат представљања прозора,ефекат промене величине прозора
X-KDE-Keywords[sr@ijekavian]=kwin,window,manager,compositing,effect,3D effects,2D effects,OpenGL,XRender,video settings,graphical effects,desktop effects,animations,various animations,window management effects,window switching effect,desktop switching effect,animations,animation speed,desktop animations,drivers,driver settings,rendering,render,invert effect,looking glass effect,magnifier effect,snap helper effect,track mouse effect,zoom effect,blur effect,dashboard effect,explosion effect,fade effect,fade desktop effect,fall apart effect,glide effect,highlight window effect,login effect,logout effect,magic lamp effect,minimize animation effect,mouse mark effect,scale in effect,screenshot effect,sheet effect,slide effect,sliding popups effect,taskbar thumbnails effect,thumbnail aside effect,translucency,translucency effect,transparency,window geometry effect,wobbly windows effect,startup feedback effect,dialog parent effect,dim inactive effect,dim screen effect,slide back effect,eye candy,candy,show FPS effect,show paint effect,box switch effect,cover switch effect,desktop cube effect,desktop cube animation effect,desktop grid effect,flip switch effect,outline effect,present windows effect,resize window effect,Квин,прозор,менаџер,слагање,ефекат,3Д ефекти,2Д ефекти,опенГЛ,Иксрендер,видео поставке,графички ефекти,ефекти површи,анимације,разне анимације,ефекти управљања прозорима,ефекти мењања прозора,ефекти мењања површи,анимације,брзина анимације,анимације површи,драјвери,поставке драјвера,рендеровање,исцртавање,ефекат извртања,ефекат лупе,ефекат уклапања,ефекат праћења миша,ефекат увеличања,ефекат замућења,инструмент-табла,ефекат експлозије,ефекат утапања,ефеката утапања површи,ефекат распадања,ефекат распарчавања,ефекат клизања,ефекат истицања прозора,ефекат пријављивања,ефекат одјављивања,ефекат магичне лампе,ефекат минимизовања,ефекат трагова миша,ефекат скалирања,ефекат снимка екрана,ефекат листа,ефекат клизања,ефекат клизајућих искакача,ефекат ефекат сличица на траци задатака,ефекат прозирности,прозирност,провидност,ефекат геометрије прозора,ефекат лелујајућих прозора,ефекат одзива покретања,ефекат родитељског дијалог,ефекат потамњења неактивног,ефекат потамњења екрана,шминка,ефекат приказивања,ефекат кутијастог пребацивања,ефекат коцке површи,ефекат анимације коцке површи,ефекат мреже површи,ефекат превртања,ефекат представљања прозора,ефекат промене величине прозора
X-KDE-Keywords[sr@ijekavianlatin]=kwin,window,manager,compositing,effect,3D effects,2D effects,OpenGL,XRender,video settings,graphical effects,desktop effects,animations,various animations,window management effects,window switching effect,desktop switching effect,animations,animation speed,desktop animations,drivers,driver settings,rendering,render,invert effect,looking glass effect,magnifier effect,snap helper effect,track mouse effect,zoom effect,blur effect,dashboard effect,explosion effect,fade effect,fade desktop effect,fall apart effect,glide effect,highlight window effect,login effect,logout effect,magic lamp effect,minimize animation effect,mouse mark effect,scale in effect,screenshot effect,sheet effect,slide effect,sliding popups effect,taskbar thumbnails effect,thumbnail aside effect,translucency,translucency effect,transparency,window geometry effect,wobbly windows effect,startup feedback effect,dialog parent effect,dim inactive effect,dim screen effect,slide back effect,eye candy,candy,show FPS effect,show paint effect,box switch effect,cover switch effect,desktop cube effect,desktop cube animation effect,desktop grid effect,flip switch effect,outline effect,present windows effect,resize window effect,KWin,prozor,menadžer,slaganje,efekat,3D efekti,2D efekti,OpenGL,XRender,video postavke,grafički efekti,efekti površi,animacije,razne animacije,efekti upravljanja prozorima,efekti menjanja prozora,efekti menjanja površi,animacije,brzina animacije,animacije površi,drajveri,postavke drajvera,renderovanje,iscrtavanje,efekat izvrtanja,efekat lupe,efekat uklapanja,efekat praćenja miša,efekat uveličanja,efekat zamućenja,instrument-tabla,efekat eksplozije,efekat utapanja,efekata utapanja površi,efekat raspadanja,efekat rasparčavanja,efekat klizanja,efekat isticanja prozora,efekat prijavljivanja,efekat odjavljivanja,efekat magične lampe,efekat minimizovanja,efekat tragova miša,efekat skaliranja,efekat snimka ekrana,efekat lista,efekat klizanja,efekat klizajućih iskakača,efekat efekat sličica na traci zadataka,efekat prozirnosti,prozirnost,providnost,efekat geometrije prozora,efekat lelujajućih prozora,efekat odziva pokretanja,efekat roditeljskog dijalog,efekat potamnjenja neaktivnog,efekat potamnjenja ekrana,šminka,efekat prikazivanja,efekat kutijastog prebacivanja,efekat kocke površi,efekat animacije kocke površi,efekat mreže površi,efekat prevrtanja,efekat predstavljanja prozora,efekat promene veličine prozora
X-KDE-Keywords[sr@latin]=kwin,window,manager,compositing,effect,3D effects,2D effects,OpenGL,XRender,video settings,graphical effects,desktop effects,animations,various animations,window management effects,window switching effect,desktop switching effect,animations,animation speed,desktop animations,drivers,driver settings,rendering,render,invert effect,looking glass effect,magnifier effect,snap helper effect,track mouse effect,zoom effect,blur effect,dashboard effect,explosion effect,fade effect,fade desktop effect,fall apart effect,glide effect,highlight window effect,login effect,logout effect,magic lamp effect,minimize animation effect,mouse mark effect,scale in effect,screenshot effect,sheet effect,slide effect,sliding popups effect,taskbar thumbnails effect,thumbnail aside effect,translucency,translucency effect,transparency,window geometry effect,wobbly windows effect,startup feedback effect,dialog parent effect,dim inactive effect,dim screen effect,slide back effect,eye candy,candy,show FPS effect,show paint effect,box switch effect,cover switch effect,desktop cube effect,desktop cube animation effect,desktop grid effect,flip switch effect,outline effect,present windows effect,resize window effect,KWin,prozor,menadžer,slaganje,efekat,3D efekti,2D efekti,OpenGL,XRender,video postavke,grafički efekti,efekti površi,animacije,razne animacije,efekti upravljanja prozorima,efekti menjanja prozora,efekti menjanja površi,animacije,brzina animacije,animacije površi,drajveri,postavke drajvera,renderovanje,iscrtavanje,efekat izvrtanja,efekat lupe,efekat uklapanja,efekat praćenja miša,efekat uveličanja,efekat zamućenja,instrument-tabla,efekat eksplozije,efekat utapanja,efekata utapanja površi,efekat raspadanja,efekat rasparčavanja,efekat klizanja,efekat isticanja prozora,efekat prijavljivanja,efekat odjavljivanja,efekat magične lampe,efekat minimizovanja,efekat tragova miša,efekat skaliranja,efekat snimka ekrana,efekat lista,efekat klizanja,efekat klizajućih iskakača,efekat efekat sličica na traci zadataka,efekat prozirnosti,prozirnost,providnost,efekat geometrije prozora,efekat lelujajućih prozora,efekat odziva pokretanja,efekat roditeljskog dijalog,efekat potamnjenja neaktivnog,efekat potamnjenja ekrana,šminka,efekat prikazivanja,efekat kutijastog prebacivanja,efekat kocke površi,efekat animacije kocke površi,efekat mreže površi,efekat prevrtanja,efekat predstavljanja prozora,efekat promene veličine prozora
X-KDE-Keywords[sv]=kwin,fönster,hanterare,sammansättning,effekt,3D-effekter,OpenGL,Xrender,videoinställningar,grafiska effekter,skrivbordseffekter,animeringar,diverse animeringar,fönsterhanteringseffekter,fönsterbyteseffekt,skrivbordsbyteseffekt,animeringshastighet,skrivbordsanimeringar,drivrutiner,drivrutininställningar,återgivning,återge,inverteringseffekt,förstoringsglaseffekt,förstoringseffekt,låshjälpeffekt,musföljningseffekt,zoomeffekt,suddighetseffekt,instrumentpaneleffekt,explosionseffekt,borttoningseffekt,skrivbordsborttoningseffekt,sönderfallseffekt,glidningseffekt,fönstermarkeringseffekt,inloggningseffekt,utloggningseffekt,magisk lampeffekt,minimeringsanimeringseffekt,musmarkeringseffekt,inskalningseffekt,skärmbildseffekt,arkeffekt,glideffekt,glidande ruteffekt,miniatyrbilder i aktivitetsfältet,miniatyrbild vid sidan om,genomskinlighet,genomskinlighetseffekt,fönstergeometrieffekt,ostadiga fönster,startgensvarseffekt,dialogrutors ägare,dämpa inaktiva,dämpa skärmen,glid tillbaka,ögongodis,visa ramar/s,visa uppritning,byte med ruta,omslagsbyte,skrivbordskub,animeringseffekt för skrivbordskub,skrivbordsrutnät,blädderbyteseffekt,kontureffekt,befintliga fönster,ändra fönsterstorlek
X-KDE-Keywords[tr]=kwin,pencere,yönetici,compositing,efekt,3D efekti,2D efekti,OpenGL,XRender,video ayarları,grafiksel efektler,masaüstü efektleri,canlandırmalar,çeşitli canlandırmalar,pencere yönetimi efektleri,pencere değiştirme efekti,masaüstü değiştirme efekti,canlandırmalar,canlandırma hızı,masaüstü canlandırmaları,sürücüler,sürücü ayarları,hazırlama,render,invert efekti,camdan bakma efekti,büyüteç efekti,kopma yardımcısı efekti,fareyi izle efekti,büyütme efekti,bulanıklaştırma efekti,kontrol paneli efekti,patlama efekti,kaybolma efekti,masaüstü kaybolması efekti,fall apart efekti,glide efekti,pencere vurgulama efekti,giriş efekti,çıkış efekti,sihirli lamba efekti,küçültmecanlandırması efekti,fare işaretleme efekti,ölçekleme efekti,ekran görüntüsü alma efekti,sheet efekti,slayt efekti,sliding popups efekti,görev çubuğu küçük resimleri efekti,yan küçük resim efekti,şeffaflık,şeffaflık efekti,şeffaflık,pencere yerleşimi efekti,sallanan pencereler efekti,başlatma geri bildirimi efekti,üst pencere efekti,ekran kapatılma efekti,ekran kapatma efekti,slide back efekti,güzellik,şeker,FPS göster efekti,show paint efekti,kutu seçici efekti,kapak seçici efekti,masaüstü küpü efekti,masaüstü küpü canlandırma efekti,masaüstü ızgarası efekti,flip switch efekti,dış çerçeve efekti,şimdiki pencereler efekti,pencere yeniden boyutlandırma efekti
X-KDE-Keywords[uk]=kwin,window,manager,compositing,effect,3D effects,2D effects,OpenGL,XRender,video settings,graphical effects,desktop effects,animations,various animations,window management effects,window switching effect,desktop switching effect,animations,animation speed,desktop animations,drivers,driver settings,rendering,render,invert effect,looking glass effect,magnifier effect,snap helper effect,track mouse effect,zoom effect,blur effect,dashboard effect,explosion effect,fade effect,fade desktop effect,fall apart effect,glide effect,highlight window effect,login effect,logout effect,magic lamp effect,minimize animation effect,mouse mark effect,scale in effect,screenshot effect,sheet effect,slide effect,sliding popups effect,taskbar thumbnails effect,thumbnail aside effect,translucency,translucency effect,transparency,window geometry effect,wobbly windows effect,startup feedback effect,dialog parent effect,dim inactive effect,dim screen effect,slide back effect,eye candy,candy,show FPS effect,show paint effect,box switch effect,cover switch effect,desktop cube effect,desktop cube animation effect,desktop grid effect,flip switch effect,outline effect,present windows effect,resize window effect,вікно,керування вікнами,менеджер вікон,композитне відтворення,ефект,просторовий,плоский,параметри відео,графічні ефекти,анімації,анімація,перемикання вікон,швидкість анімації,драйвери,параметри драйверів,показ,відтворення,інвертування,інверсія,збільшувальне скло,збільшення,прилипання,шлейф за вказівником,шлейф,масштабування,масштаб,зміна розмірів,розмивання,панель приладів,панель,вибух,ефекти вибуху,згасання,поява,ковзання,підсвічування,підсвічування вікон,вихід,магічна лампа,чарівна лампа,джин,аркуші,стос,знімок екрана,мініатюри панелі задач,мініатюри,прозорість,ефект прозорості,желе,желейні вікна,супровід запуску,стрибунець,притлумлення,сірість,прикраси,показ частоти,малювання,обкладинки,стрибання,контур,поточні вікна,зміна розмірів
X-KDE-Keywords[x-test]=xxkwin,window,manager,compositing,effect,3D effects,2D effects,OpenGL,XRender,video settings,graphical effects,desktop effects,animations,various animations,window management effects,window switching effect,desktop switching effect,animations,animation speed,desktop animations,drivers,driver settings,rendering,render,invert effect,looking glass effect,magnifier effect,snap helper effect,track mouse effect,zoom effect,blur effect,dashboard effect,explosion effect,fade effect,fade desktop effect,fall apart effect,glide effect,highlight window effect,login effect,logout effect,magic lamp effect,minimize animation effect,mouse mark effect,scale in effect,screenshot effect,sheet effect,slide effect,sliding popups effect,taskbar thumbnails effect,thumbnail aside effect,translucency,translucency effect,transparency,window geometry effect,wobbly windows effect,startup feedback effect,dialog parent effect,dim inactive effect,dim screen effect,slide back effect,eye candy,candy,show FPS effect,show paint effect,box switch effect,cover switch effect,desktop cube effect,desktop cube animation effect,desktop grid effect,flip switch effect,outline effect,present windows effect,resize window effectxx
X-KDE-Keywords[zh_CN]=kwin,window,manager,compositing,effect,3D effects,2D effects,OpenGL,XRender,video settings,graphical effects,desktop effects,animations,various animations,window management effects,window switching effect,desktop switching effect,animations,animation speed,desktop animations,drivers,driver settings,rendering,render,invert effect,looking glass effect,magnifier effect,snap helper effect,track mouse effect,zoom effect,blur effect,dashboard effect,explosion effect,fade effect,fade desktop effect,fall apart effect,glide effect,highlight window effect,login effect,logout effect,magic lamp effect,minimize animation effect,mouse mark effect,scale in effect,screenshot effect,sheet effect,slide effect,sliding popups effect,taskbar thumbnails effect,thumbnail aside effect,translucency,translucency effect,transparency,window geometry effect,wobbly windows effect,startup feedback effect,dialog parent effect,dim inactive effect,dim screen effect,slide back effect,eye candy,candy,show FPS effect,show paint effect,box switch effect,cover switch effect,desktop cube effect,desktop cube animation effect,desktop grid effect,flip switch effect,outline effect,present windows effect,resize window effect,,,,,,2,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, FPS ,,,,,,,,,,,,
X-KDE-Keywords[zh_TW]=kwin,window,manager,compositing,effect,3D effects,2D effects,OpenGL,XRender,video settings,graphical effects,desktop effects,animations,various animations,window management effects,window switching effect,desktop switching effect,animations,animation speed,desktop animations,drivers,driver settings,rendering,render,invert effect,looking glass effect,magnifier effect,snap helper effect,track mouse effect,zoom effect,blur effect,dashboard effect,explosion effect,fade effect,fade desktop effect,fall apart effect,glide effect,highlight window effect,login effect,logout effect,magic lamp effect,minimize animation effect,mouse mark effect,scale in effect,screenshot effect,sheet effect,slide effect,sliding popups effect,taskbar thumbnails effect,thumbnail aside effect,translucency,translucency effect,transparency,window geometry effect,wobbly windows effect,startup feedback effect,dialog parent effect,dim inactive effect,dim screen effect,slide back effect,eye candy,candy,show FPS effect,show paint effect,box switch effect,cover switch effect,desktop cube effect,desktop cube animation effect,desktop grid effect,flip switch effect,outline effect,present windows effect,resize window effect

View file

@ -1,5 +0,0 @@
[KNewStuff3]
Categories=KWin Effects
StandardResource=tmp
InstallationCommand=plasmapkg -t kwineffect -i %f
UninstallCommand=plasmapkg -t kwineffect -r %f

View file

@ -1,916 +0,0 @@
/********************************************************************
KWin - the KDE window manager
This file is part of the KDE project.
Copyright (C) 2007 Rivo Laks <rivolaks@hot.ee>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*********************************************************************/
#include "main.h"
#include "dbus.h"
#include "kwin_interface.h"
#include "kwinglobals.h"
#include <kaboutdata.h>
#include <kaction.h>
#include <kactioncollection.h>
#include <kconfig.h>
#include <kconfiggroup.h>
#include <QDebug>
#include <kmessagebox.h>
#include <ksettings/dispatcher.h>
#include <kpluginselector.h>
#include <kservicetypetrader.h>
#include <kplugininfo.h>
#include <kservice.h>
#include <ktitlewidget.h>
#include <knotification.h>
#include <KNS3/DownloadDialog>
#include <QtDBus/QtDBus>
#include <QPainter>
#include <QPaintEngine>
#include <QTimer>
#include <QLabel>
#include <QTemporaryFile>
#include <KPluginFactory>
#include <KPluginLoader>
#include <KIcon>
K_PLUGIN_FACTORY(KWinCompositingConfigFactory,
registerPlugin<KWin::KWinCompositingConfig>();
)
namespace KWin
{
ConfirmDialog::ConfirmDialog() :
KTimerDialog(10000, KTimerDialog::CountDown, 0,
i18n("Confirm Desktop Effects Change"), KTimerDialog::Ok | KTimerDialog::Cancel,
KTimerDialog::Cancel)
{
setObjectName(QLatin1String("mainKTimerDialog"));
setButtonGuiItem(KDialog::Ok, KGuiItem(i18n("&Accept Configuration"), "dialog-ok"));
setButtonGuiItem(KDialog::Cancel, KGuiItem(i18n("&Return to Previous Configuration"), "dialog-cancel"));
QLabel *label = new QLabel(i18n("Desktop effects settings have changed.\n"
"Do you want to keep the new settings?\n"
"They will be automatically reverted in 10 seconds."), this);
label->setWordWrap(true);
setMainWidget(label);
setWindowIcon(KIcon("preferences-desktop-effect"));
}
KWinCompositingConfig::KWinCompositingConfig(QWidget *parent, const QVariantList &args)
: KCModule(KWinCompositingConfigFactory::componentData(), parent)
, mKWinConfig(KSharedConfig::openConfig("kwinrc"))
, m_showConfirmDialog(false)
, m_showDetailedErrors(new QAction(i18nc("Action to open a dialog showing detailed information why an effect could not be loaded",
"Details"), this))
, m_dontShowAgain(new QAction(i18nc("Prevent warning from bein displayed again", "Don't show again!"), this))
{
QDBusConnection::sessionBus().registerService("org.kde.kwinCompositingDialog");
QDBusConnection::sessionBus().registerObject("/CompositorSettings", this);
new MainAdaptor(this);
KGlobal::locale()->insertCatalog("kwin_effects");
KGlobal::locale()->insertCatalog("kwin_scripting");
ui.setupUi(this);
layout()->setMargin(0);
layout()->activate();
ui.tabWidget->setCurrentIndex(0);
ui.statusTitleWidget->hide();
ui.rearmGlSupport->hide();
ui.messageBox->setMessageType(KMessageWidget::Warning);
ui.messageBox->addAction(m_dontShowAgain);
foreach (QWidget *w, m_dontShowAgain->associatedWidgets())
w->setVisible(false);
ui.messageBox->addAction(m_showDetailedErrors);
bool showMessage = false;
QString message, details, dontAgainKey;
if (args.count() > 1) {
for (int i = 0; i < args.count() - 1; ++i) {
if (args.at(i).toString() == "warn") {
showMessage = true;
message = QString::fromLocal8Bit(QByteArray::fromBase64(args.at(i+1).toByteArray()));
} else if (args.at(i).toString() == "details") {
showMessage = true;
details = QString::fromLocal8Bit(QByteArray::fromBase64(args.at(i+1).toByteArray()));
} else if (args.at(i).toString() == "dontagain") {
showMessage = true;
dontAgainKey = args.at(i+1).toString();
}
}
}
if (showMessage) {
ui.messageBox->setVisible(showMessage); // first show, animation is broken on init
warn(message, details, dontAgainKey);
} else
ui.messageBox->setVisible(false);
ui.ghns->setIcon(KIcon("get-hot-new-stuff"));
// For future use
(void) I18N_NOOP("Use GLSL shaders");
#define OPENGL31_INDEX 0
#define OPENGL20_INDEX 1
#define OPENGL12_INDEX 2
#define XRENDER_INDEX 3
#ifndef KWIN_HAVE_XRENDER_COMPOSITING
ui.compositingType->removeItem(XRENDER_INDEX);
#define XRENDER_INDEX -1
#endif
ui.glSwapStrategy->addItem(i18n("None"), "n");
ui.glSwapStrategy->setItemData(0, i18n("The painting is not synchronized with the screen."), Qt::ToolTipRole);
ui.glSwapStrategy->addItem(i18n("Automatic"), "a");
ui.glSwapStrategy->setItemData(1, i18n("Tries to re-use older buffers and if that is not possible,\npicks a strategy matching your hardware."), Qt::ToolTipRole);
ui.glSwapStrategy->addItem(i18n("Only when Cheap"), "e");
ui.glSwapStrategy->setItemData(2, i18n("When major regions of the screen are updated,\nthe entire screen will be repainted.\nCan cause tearing with small updates."), Qt::ToolTipRole);
ui.glSwapStrategy->addItem(i18n("Full scene repaints"), "p");
ui.glSwapStrategy->setItemData(3, i18n("The complete screen is repainted for every frame.\nCan be slow with large blurred areas."), Qt::ToolTipRole);
ui.glSwapStrategy->addItem(i18n("Re-use screen content"), "c");
ui.glSwapStrategy->setItemData(4, i18n("WARNING:\nThis strategy is usually slow with Open Source drivers.\nUndamaged pixels will be copied from GL_FRONT to GL_BACK"), Qt::ToolTipRole);
connect(ui.tabWidget, SIGNAL(currentChanged(int)), this, SLOT(currentTabChanged(int)));
connect(ui.rearmGlSupportButton, SIGNAL(clicked()), this, SLOT(rearmGlSupport()));
connect(ui.useCompositing, SIGNAL(toggled(bool)), this, SLOT(changed()));
connect(ui.useCompositing, SIGNAL(clicked(bool)), this, SLOT(suggestGraphicsSystem()));
connect(ui.effectWinManagement, SIGNAL(toggled(bool)), this, SLOT(changed()));
connect(ui.effectAnimations, SIGNAL(toggled(bool)), this, SLOT(changed()));
connect(ui.effectSelector, SIGNAL(changed(bool)), this, SLOT(changed()));
connect(ui.effectSelector, SIGNAL(configCommitted(QByteArray)),
this, SLOT(reparseConfiguration(QByteArray)));
connect(ui.desktopSwitchingCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(changed()));
connect(ui.animationSpeedCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(changed()));
connect(ui.compositingType, SIGNAL(currentIndexChanged(int)), this, SLOT(changed()));
connect(ui.compositingType, SIGNAL(currentIndexChanged(int)), this, SLOT(alignGuiToCompositingType(int)));
connect(ui.compositingType, SIGNAL(activated(int)), this, SLOT(suggestGraphicsSystem()));
connect(ui.graphicsSystem, SIGNAL(currentIndexChanged(int)), this, SLOT(changed()));
connect(ui.windowThumbnails, SIGNAL(activated(int)), this, SLOT(changed()));
connect(ui.unredirectFullscreen , SIGNAL(toggled(bool)), this, SLOT(changed()));
connect(ui.glScaleFilter, SIGNAL(currentIndexChanged(int)), this, SLOT(changed()));
connect(ui.xrScaleFilter, SIGNAL(currentIndexChanged(int)), this, SLOT(changed()));
connect(ui.glSwapStrategy, SIGNAL(currentIndexChanged(int)), this, SLOT(glSwapStrategyChanged(int)));
connect(ui.glSwapStrategy, SIGNAL(currentIndexChanged(int)), this, SLOT(changed()));
connect(ui.glColorCorrection, SIGNAL(toggled(bool)), this, SLOT(changed()));
connect(m_showDetailedErrors, SIGNAL(triggered(bool)), SLOT(showDetailedEffectLoadingInformation()));
connect(m_dontShowAgain, SIGNAL(triggered(bool)), SLOT(blockFutureWarnings()));
connect(ui.ghns, SIGNAL(clicked(bool)), SLOT(slotGHNS()));
// Open the temporary config file
// Temporary conf file is used to synchronize effect checkboxes with effect
// selector by loading/saving effects from/to temp config when active tab
// changes.
mTmpConfigFile.open();
mTmpConfig = KSharedConfig::openConfig(mTmpConfigFile.fileName());
// toggle effects shortcut button stuff - /HAS/ to happen before load!
m_actionCollection = new KActionCollection( this, KComponentData("kwin") );
m_actionCollection->setConfigGroup("Suspend Compositing");
m_actionCollection->setConfigGlobal(true);
KAction* a = static_cast<KAction*>(m_actionCollection->addAction( "Suspend Compositing" ));
a->setProperty("isConfigurationAction", true);
a->setGlobalShortcut( KShortcut( Qt::ALT + Qt::SHIFT + Qt::Key_F12 ));
connect(ui.toggleEffectsShortcut, SIGNAL(keySequenceChanged(QKeySequence)), this, SLOT(toggleEffectShortcutChanged(QKeySequence)));
// Initialize the user interface with the config loaded from kwinrc.
load();
KAboutData *about = new KAboutData(I18N_NOOP("kcmkwincompositing"), 0,
ki18n("KWin Desktop Effects Configuration Module"),
0, KLocalizedString(), KAboutData::License_GPL, ki18n("(c) 2007 Rivo Laks"));
about->addAuthor(ki18n("Rivo Laks"), KLocalizedString(), "rivolaks@hot.ee");
setAboutData(about);
// search the effect names
KServiceTypeTrader* trader = KServiceTypeTrader::self();
KService::List services;
QString slide, cube, fadedesktop;
// desktop switcher
services = trader->query("KWin/Effect", "[X-KDE-PluginInfo-Name] == 'kwin4_effect_slide'");
if (!services.isEmpty())
slide = services.first()->name();
services = trader->query("KWin/Effect", "[X-KDE-PluginInfo-Name] == 'kwin4_effect_cubeslide'");
if (!services.isEmpty())
cube = services.first()->name();
services = trader->query("KWin/Effect", "[X-KDE-PluginInfo-Name] == 'kwin4_effect_fadedesktop'");
if (!services.isEmpty())
fadedesktop = services.first()->name();
ui.desktopSwitchingCombo->addItem(i18n("No effect"));
ui.desktopSwitchingCombo->addItem(slide);
ui.desktopSwitchingCombo->addItem(cube);
ui.desktopSwitchingCombo->addItem(fadedesktop);
}
KWinCompositingConfig::~KWinCompositingConfig()
{
}
void KWinCompositingConfig::reparseConfiguration(const QByteArray& conf)
{
KSettings::Dispatcher::reparseConfiguration(conf);
}
void KWinCompositingConfig::showConfirmDialog(bool reinitCompositing)
{
bool revert = false;
// Feel free to extend this to support several kwin instances (multihead) if you
// think it makes sense.
OrgKdeKWinInterface kwin("org.kde.KWin", "/KWin", QDBusConnection::sessionBus());
if (reinitCompositing ? !kwin.compositingActive().value() : !kwin.waitForCompositingSetup().value()) {
KMessageBox::sorry(this, i18n(
"Failed to activate desktop effects using the given "
"configuration options. Settings will be reverted to their previous values.\n\n"
"Check your X configuration. You may also consider changing advanced options, "
"especially changing the compositing type."));
revert = true;
} else {
ConfirmDialog confirm;
if (!confirm.exec())
revert = true;
else {
// compositing is enabled now
checkLoadedEffects();
}
}
if (revert) {
// Revert settings
KConfigGroup config(mKWinConfig, "Compositing");
config.deleteGroup();
QMap<QString, QString>::const_iterator it = mPreviousConfig.constBegin();
for (; it != mPreviousConfig.constEnd(); ++it) {
if (it.value().isEmpty())
continue;
config.writeEntry(it.key(), it.value());
}
// Sync with KWin and reload
configChanged(reinitCompositing);
load();
}
}
void KWinCompositingConfig::initEffectSelector()
{
// Find all .desktop files of the effects
KService::List offers = KServiceTypeTrader::self()->query("KWin/Effect");
QList<KPluginInfo> effectinfos = KPluginInfo::fromServices(offers);
// Add them to the plugin selector
ui.effectSelector->addPlugins(effectinfos, KPluginSelector::ReadConfigFile, i18n("Appearance"), "Appearance", mTmpConfig);
ui.effectSelector->addPlugins(effectinfos, KPluginSelector::ReadConfigFile, i18n("Accessibility"), "Accessibility", mTmpConfig);
ui.effectSelector->addPlugins(effectinfos, KPluginSelector::ReadConfigFile, i18n("Focus"), "Focus", mTmpConfig);
ui.effectSelector->addPlugins(effectinfos, KPluginSelector::ReadConfigFile, i18n("Window Management"), "Window Management", mTmpConfig);
ui.effectSelector->addPlugins(effectinfos, KPluginSelector::ReadConfigFile, i18n("Candy"), "Candy", mTmpConfig);
ui.effectSelector->addPlugins(effectinfos, KPluginSelector::ReadConfigFile, i18n("Demos"), "Demos", mTmpConfig);
ui.effectSelector->addPlugins(effectinfos, KPluginSelector::ReadConfigFile, i18n("Tests"), "Tests", mTmpConfig);
ui.effectSelector->addPlugins(effectinfos, KPluginSelector::ReadConfigFile, i18n("Tools"), "Tools", mTmpConfig);
}
void KWinCompositingConfig::currentTabChanged(int tab)
{
// block signals to don't emit the changed()-signal by just switching the current tab
blockSignals(true);
// write possible changes done to synchronize effect checkboxes and selector
// TODO: This segment is prone to fail when the UI is changed;
// you'll most likely not think of the hard coded numbers here when just changing the order of the tabs.
if (tab == 0) {
// General tab was activated
saveEffectsTab();
loadGeneralTab();
} else if (tab == 1) {
// Effects tab was activated
saveGeneralTab();
loadEffectsTab();
}
blockSignals(false);
}
void KWinCompositingConfig::loadGeneralTab()
{
KConfigGroup config(mKWinConfig, "Compositing");
bool enabled = config.readEntry("Enabled", true);
ui.useCompositing->setChecked(enabled);
// this works by global shortcut magics - it will pick the current sc
// but the constructor line that adds the default alt+shift+f12 gsc is IMPORTANT!
if (KAction *a = qobject_cast<KAction*>(m_actionCollection->action("Suspend Compositing")))
ui.toggleEffectsShortcut->setKeySequence(a->globalShortcut().primary());
ui.animationSpeedCombo->setCurrentIndex(config.readEntry("AnimationSpeed", 3));
// Load effect settings
KConfigGroup effectconfig(mTmpConfig, "Plugins");
#define LOAD_EFFECT_CONFIG(effectname) effectconfig.readEntry("kwin4_effect_" effectname "Enabled", true)
int winManagementEnabled = LOAD_EFFECT_CONFIG("presentwindows")
+ LOAD_EFFECT_CONFIG("desktopgrid")
+ LOAD_EFFECT_CONFIG("dialogparent");
if (winManagementEnabled > 0 && winManagementEnabled < 3) {
ui.effectWinManagement->setTristate(true);
ui.effectWinManagement->setCheckState(Qt::PartiallyChecked);
} else
ui.effectWinManagement->setChecked(winManagementEnabled);
ui.effectAnimations->setChecked(LOAD_EFFECT_CONFIG("minimizeanimation"));
#undef LOAD_EFFECT_CONFIG
// desktop switching
// Set current option to "none" if no plugin is activated.
ui.desktopSwitchingCombo->setCurrentIndex(0);
if (effectEnabled("slide", effectconfig))
ui.desktopSwitchingCombo->setCurrentIndex(1);
if (effectEnabled("cubeslide", effectconfig))
ui.desktopSwitchingCombo->setCurrentIndex(2);
if (effectEnabled("fadedesktop", effectconfig))
ui.desktopSwitchingCombo->setCurrentIndex(3);
}
void KWinCompositingConfig::glSwapStrategyChanged(int idx)
{
ui.glSwapStrategy->setToolTip(ui.glSwapStrategy->itemData(idx, Qt::ToolTipRole).toString());
}
void KWinCompositingConfig::rearmGlSupport()
{
// rearm config
KConfigGroup gl_workaround_config = KConfigGroup(mKWinConfig, "Compositing");
gl_workaround_config.writeEntry("OpenGLIsUnsafe", false);
gl_workaround_config.sync();
// save last changes
save();
// Initialize the user interface with the config loaded from kwinrc.
load();
}
void KWinCompositingConfig::suggestGraphicsSystem()
{
if (!ui.useCompositing->isChecked() || ui.compositingType->currentIndex() == XRENDER_INDEX)
ui.graphicsSystem->setCurrentIndex(0);
}
void KWinCompositingConfig::alignGuiToCompositingType(int compositingType)
{
ui.glScaleFilter->setVisible(compositingType != XRENDER_INDEX);
ui.xrScaleFilter->setVisible(compositingType == XRENDER_INDEX);
ui.scaleMethodLabel->setBuddy(compositingType == XRENDER_INDEX ? ui.xrScaleFilter : ui.glScaleFilter);
ui.glGroup->setEnabled(compositingType != XRENDER_INDEX);
ui.glColorCorrection->setEnabled(compositingType == OPENGL20_INDEX ||
compositingType == OPENGL31_INDEX);
}
void KWinCompositingConfig::toggleEffectShortcutChanged(const QKeySequence &seq)
{
if (KAction *a = qobject_cast<KAction*>(m_actionCollection->action("Suspend Compositing")))
a->setGlobalShortcut(KShortcut(seq), KAction::ActiveShortcut, KAction::NoAutoloading);
m_actionCollection->writeSettings();
}
bool KWinCompositingConfig::effectEnabled(const QString& effect, const KConfigGroup& cfg) const
{
KService::List services = KServiceTypeTrader::self()->query(
"KWin/Effect", "[X-KDE-PluginInfo-Name] == 'kwin4_effect_" + effect + '\'');
if (services.isEmpty())
return false;
QVariant v = services.first()->property("X-KDE-PluginInfo-EnabledByDefault");
return cfg.readEntry("kwin4_effect_" + effect + "Enabled", v.toBool());
}
void KWinCompositingConfig::loadEffectsTab()
{
ui.effectSelector->load();
}
void KWinCompositingConfig::loadAdvancedTab()
{
KConfigGroup config(mKWinConfig, "Compositing");
QString backend = config.readEntry("Backend", "OpenGL");
if (backend == "OpenGL") {
int index = OPENGL20_INDEX;
if (config.readEntry<bool>("GLLegacy", false))
index = OPENGL12_INDEX;
else if (config.readEntry<bool>("GLCore", false))
index = OPENGL31_INDEX;
ui.compositingType->setCurrentIndex(index);
} else if (backend == "XRender") {
ui.compositingType->setCurrentIndex(XRENDER_INDEX);
}
originalGraphicsSystem = config.readEntry("GraphicsSystem", QString());
if (originalGraphicsSystem.isEmpty()) { // detect system default
QPixmap pix(1,1);
QPainter p(&pix);
originalGraphicsSystem = (p.paintEngine()->type() == QPaintEngine::X11) ? "native" : "raster";
p.end();
}
ui.graphicsSystem->setCurrentIndex((originalGraphicsSystem == "native") ? 0 : 1);
// 4 - off, 5 - shown, 6 - always, other are old values
int hps = config.readEntry("HiddenPreviews", 5);
if (hps == 6) // always
ui.windowThumbnails->setCurrentIndex(0);
else if (hps == 4) // never
ui.windowThumbnails->setCurrentIndex(2);
else // shown, or default
ui.windowThumbnails->setCurrentIndex(1);
ui.unredirectFullscreen->setChecked(config.readEntry("UnredirectFullscreen", false));
ui.xrScaleFilter->setCurrentIndex((int)config.readEntry("XRenderSmoothScale", false));
ui.glScaleFilter->setCurrentIndex(config.readEntry("GLTextureFilter", 2));
int swapStrategy = ui.glSwapStrategy->findData(config.readEntry("GLPreferBufferSwap", "a"));
if (swapStrategy < 0)
swapStrategy = ui.glSwapStrategy->findData("n");
ui.glSwapStrategy->setCurrentIndex(swapStrategy);
ui.glColorCorrection->setChecked(config.readEntry("GLColorCorrection", false));
alignGuiToCompositingType(ui.compositingType->currentIndex());
}
void KWinCompositingConfig::updateStatusUI(bool compositingIsPossible)
{
if (compositingIsPossible) {
ui.compositingOptionsContainer->show();
ui.statusTitleWidget->hide();
ui.rearmGlSupport->hide();
}
else {
OrgKdeKWinInterface kwin("org.kde.KWin", "/KWin", QDBusConnection::sessionBus());
ui.compositingOptionsContainer->hide();
QString text = i18n("Desktop effects are not available on this system due to the following technical issues:");
text += "<hr>";
text += kwin.isValid() ? kwin.compositingNotPossibleReason() : i18nc("Reason shown when trying to activate desktop effects and KWin (most likely) crashes",
"Window Manager seems not to be running");
ui.statusTitleWidget->setText(text);
ui.statusTitleWidget->setPixmap(KTitleWidget::InfoMessage, KTitleWidget::ImageLeft);
ui.statusTitleWidget->show();
ui.rearmGlSupport->setVisible(kwin.isValid() ? kwin.openGLIsBroken() : true);
}
}
void KWinCompositingConfig::load()
{
initEffectSelector();
mKWinConfig->reparseConfiguration();
QDBusMessage msg = QDBusMessage::createMethodCall("org.kde.KWin", "/KWin", "org.kde.KWin", "compositingPossible");
QDBusConnection::sessionBus().callWithCallback(msg, this, SLOT(updateStatusUI(bool)));
// Copy Plugins group to temp config file
QMap<QString, QString> entries = mKWinConfig->entryMap("Plugins");
QMap<QString, QString>::const_iterator it = entries.constBegin();
KConfigGroup tmpconfig(mTmpConfig, "Plugins");
tmpconfig.deleteGroup();
for (; it != entries.constEnd(); ++it)
tmpconfig.writeEntry(it.key(), it.value());
loadGeneralTab();
loadEffectsTab();
loadAdvancedTab();
emit changed(false);
}
void KWinCompositingConfig::saveGeneralTab()
{
KConfigGroup config(mKWinConfig, "Compositing");
// Check if any critical settings that need confirmation have changed
config.writeEntry("Enabled", ui.useCompositing->isChecked());
config.writeEntry("AnimationSpeed", ui.animationSpeedCombo->currentIndex());
// Save effects
KConfigGroup effectconfig(mTmpConfig, "Plugins");
#define WRITE_EFFECT_CONFIG(effectname, widget) effectconfig.writeEntry("kwin4_effect_" effectname "Enabled", widget->isChecked())
if (ui.effectWinManagement->checkState() != Qt::PartiallyChecked) {
WRITE_EFFECT_CONFIG("presentwindows", ui.effectWinManagement);
WRITE_EFFECT_CONFIG("desktopgrid", ui.effectWinManagement);
WRITE_EFFECT_CONFIG("dialogparent", ui.effectWinManagement);
}
// TODO: maybe also do some effect-specific configuration here, e.g.
// enable/disable desktopgrid's animation according to this setting
WRITE_EFFECT_CONFIG("minimizeanimation", ui.effectAnimations);
#undef WRITE_EFFECT_CONFIG
int desktopSwitcher = ui.desktopSwitchingCombo->currentIndex();
switch(desktopSwitcher) {
case 0:
// no effect
effectconfig.writeEntry("kwin4_effect_slideEnabled", false);
effectconfig.writeEntry("kwin4_effect_cubeslideEnabled", false);
effectconfig.writeEntry("kwin4_effect_fadedesktopEnabled", false);
break;
case 1:
// slide
effectconfig.writeEntry("kwin4_effect_slideEnabled", true);
effectconfig.writeEntry("kwin4_effect_cubeslideEnabled", false);
effectconfig.writeEntry("kwin4_effect_fadedesktopEnabled", false);
break;
case 2:
// cube
effectconfig.writeEntry("kwin4_effect_slideEnabled", false);
effectconfig.writeEntry("kwin4_effect_cubeslideEnabled", true);
effectconfig.writeEntry("kwin4_effect_fadedesktopEnabled", false);
break;
case 3:
// fadedesktop
effectconfig.writeEntry("kwin4_effect_slideEnabled", false);
effectconfig.writeEntry("kwin4_effect_cubeslideEnabled", false);
effectconfig.writeEntry("kwin4_effect_fadedesktopEnabled", true);
break;
}
}
void KWinCompositingConfig::saveEffectsTab()
{
ui.effectSelector->save();
}
bool KWinCompositingConfig::saveAdvancedTab()
{
bool advancedChanged = false;
static const int hps[] = { 6 /*always*/, 5 /*shown*/, 4 /*never*/ };
KConfigGroup config(mKWinConfig, "Compositing");
QString graphicsSystem = (ui.graphicsSystem->currentIndex() == 0) ? "native" : "raster";
QString backend;
bool glLegacy;
bool glCore;
switch (ui.compositingType->currentIndex()) {
case OPENGL12_INDEX:
backend = "OpenGL";
glLegacy = true;
glCore = false;
break;
case OPENGL20_INDEX:
backend = "OpenGL";
glLegacy = false;
glCore = false;
break;
case OPENGL31_INDEX:
backend = "OpenGL";
glLegacy = false;
glCore = true;
break;
case XRENDER_INDEX:
backend = "XRender";
glLegacy = false;
glCore = false;
break;
}
if (config.readEntry("Backend", "OpenGL") != backend ||
config.readEntry<bool>("GLLegacy", false) != glLegacy ||
config.readEntry<bool>("GLCore", false) != glCore ||
((config.readEntry("GLPreferBufferSwap", "a") == "n") xor (ui.glSwapStrategy->itemData(ui.glSwapStrategy->currentIndex()) == "n"))) {
m_showConfirmDialog = true;
advancedChanged = true;
} else if (config.readEntry("HiddenPreviews", 5) != hps[ ui.windowThumbnails->currentIndex()]
|| (int)config.readEntry("XRenderSmoothScale", false) != ui.xrScaleFilter->currentIndex()
|| config.readEntry("GLTextureFilter", 2) != ui.glScaleFilter->currentIndex()) {
advancedChanged = true;
} else if (originalGraphicsSystem != graphicsSystem) {
advancedChanged = true;
}
config.writeEntry("Backend", backend);
if (backend == "OpenGL") {
config.writeEntry("GLLegacy", glLegacy);
config.writeEntry("GLCore", glCore);
}
config.writeEntry("GraphicsSystem", graphicsSystem);
config.writeEntry("HiddenPreviews", hps[ ui.windowThumbnails->currentIndex()]);
config.writeEntry("UnredirectFullscreen", ui.unredirectFullscreen->isChecked());
config.writeEntry("XRenderSmoothScale", ui.xrScaleFilter->currentIndex() == 1);
config.writeEntry("GLTextureFilter", ui.glScaleFilter->currentIndex());
config.writeEntry("GLPreferBufferSwap", ui.glSwapStrategy->itemData(ui.glSwapStrategy->currentIndex()).toString());
config.writeEntry("GLColorCorrection", ui.glColorCorrection->isChecked());
return advancedChanged;
}
void KWinCompositingConfig::save()
{
OrgKdeKWinInterface kwin("org.kde.KWin", "/KWin", QDBusConnection::sessionBus());
if (ui.compositingType->currentIndex() != XRENDER_INDEX &&
kwin.openGLIsBroken() && !ui.rearmGlSupport->isVisible())
{
KConfigGroup config(mKWinConfig, "Compositing");
QString oldBackend = config.readEntry("Backend", "OpenGL");
config.writeEntry("Backend", "OpenGL");
config.sync();
updateStatusUI(false);
config.writeEntry("Backend", oldBackend);
config.sync();
ui.tabWidget->setCurrentIndex(0);
return;
}
// Save current config. We'll use this for restoring in case something goes wrong.
KConfigGroup config(mKWinConfig, "Compositing");
mPreviousConfig = config.entryMap();
// bah; tab content being dependent on the other is really bad; and
// deprecated in the HIG for a reason. It is confusing!
// Make sure we only call save on each tab once; as they are stateful due to the revert concept
if (ui.tabWidget->currentIndex() == 0) { // "General" tab was active
saveGeneralTab();
loadEffectsTab();
saveEffectsTab();
} else {
saveEffectsTab();
loadGeneralTab();
saveGeneralTab();
}
bool advancedChanged = saveAdvancedTab();
// Copy Plugins group from temp config to real config
QMap<QString, QString> entries = mTmpConfig->entryMap("Plugins");
QMap<QString, QString>::const_iterator it = entries.constBegin();
KConfigGroup realconfig(mKWinConfig, "Plugins");
realconfig.deleteGroup();
for (; it != entries.constEnd(); ++it)
realconfig.writeEntry(it.key(), it.value());
emit changed(false);
configChanged(advancedChanged);
// This assumes that this KCM is running with the same environment variables as KWin
// TODO: Detect KWIN_COMPOSE=N as well
if (!qgetenv("KDE_FAILSAFE").isNull() && ui.useCompositing->isChecked()) {
KMessageBox::sorry(this, i18n(
"Your settings have been saved but as KDE is currently running in failsafe "
"mode desktop effects cannot be enabled at this time.\n\n"
"Please exit failsafe mode to enable desktop effects."));
m_showConfirmDialog = false; // Dangerous but there is no way to test if failsafe mode
}
if (m_showConfirmDialog) {
m_showConfirmDialog = false;
if (advancedChanged)
QTimer::singleShot(1000, this, SLOT(confirmReInit()));
else
showConfirmDialog(false);
}
}
void KWinCompositingConfig::checkLoadedEffects()
{
// check for effects not supported by Backend or hardware
// such effects are enabled but not returned by DBus method loadedEffects
OrgKdeKWinInterface kwin("org.kde.KWin", "/KWin", QDBusConnection::sessionBus());
KConfigGroup effectConfig = KConfigGroup(mKWinConfig, "Compositing");
bool enabledAfter = effectConfig.readEntry("Enabled", true);
QDBusPendingReply< QStringList > reply = kwin.loadedEffects();
if (!reply.isError() && enabledAfter && !getenv("KDE_FAILSAFE")) {
effectConfig = KConfigGroup(mKWinConfig, "Plugins");
QStringList loadedEffects = reply.value();
QStringList effects = effectConfig.keyList();
QStringList disabledEffects = QStringList();
foreach (QString effect, effects) { // krazy:exclude=foreach
QString temp = effect.mid(13, effect.length() - 13 - 7);
effect.truncate(effect.length() - 7);
if (effectEnabled(temp, effectConfig) && !loadedEffects.contains(effect)) {
disabledEffects << effect;
}
}
if (!disabledEffects.isEmpty()) {
m_showDetailedErrors->setData(disabledEffects);
foreach (QWidget *w, m_showDetailedErrors->associatedWidgets())
w->setVisible(true);
ui.messageBox->setText(i18ncp("Error Message shown when a desktop effect could not be loaded",
"One desktop effect could not be loaded.",
"%1 desktop effects could not be loaded.", disabledEffects.count()));
ui.messageBox->animatedShow();
} else {
foreach (QWidget *w, m_showDetailedErrors->associatedWidgets())
w->setVisible(false);
}
}
}
void KWinCompositingConfig::showDetailedEffectLoadingInformation()
{
QStringList disabledEffects = m_showDetailedErrors->data().toStringList();
OrgKdeKWinInterface kwin("org.kde.KWin", "/KWin", QDBusConnection::sessionBus());
QDBusPendingReply< QString > pendingCompositingType = kwin.compositingType();
QString compositingType = pendingCompositingType.isError() ? "none" : pendingCompositingType.value();
KServiceTypeTrader* trader = KServiceTypeTrader::self();
KService::List services;
const KLocalizedString unknownReason = ki18nc("Effect with given name could not be activated due to unknown reason",
"%1 effect failed to load due to unknown reason.");
const KLocalizedString requiresShaders = ki18nc("Effect with given name could not be activated as it requires hardware shaders",
"%1 effect requires hardware support.");
const KLocalizedString requiresOpenGL = ki18nc("Effect with given name could not be activated as it requires OpenGL",
"%1 effect requires OpenGL.");
const KLocalizedString requiresOpenGL2 = ki18nc("Effect with given name could not be activated as it requires OpenGL 2",
"%1 effect requires OpenGL 2.");
KDialog *dialog = new KDialog(this);
dialog->setWindowTitle(i18nc("Window title", "List of effects which could not be loaded"));
dialog->setButtons(KDialog::Ok);
QWidget *mainWidget = new QWidget(dialog);
dialog->setMainWidget(mainWidget);
QVBoxLayout *vboxLayout = new QVBoxLayout(mainWidget);
mainWidget->setLayout(vboxLayout);
KTitleWidget *titleWidget = new KTitleWidget(mainWidget);
titleWidget->setText(i18n("For technical reasons it is not possible to determine all possible error causes."),
KTitleWidget::InfoMessage);
QLabel *label = new QLabel(mainWidget);
label->setOpenExternalLinks(true);
vboxLayout->addWidget(titleWidget);
vboxLayout->addWidget(label);
if (!m_externErrorDetails.isNull()) {
label->setText(m_externErrorDetails);
} else if (compositingType != "none") {
QString text;
if (disabledEffects.count() > 1) {
text = "<ul>";
}
foreach (const QString & effect, disabledEffects) {
QString message;
services = trader->query("KWin/Effect", "[X-KDE-PluginInfo-Name] == '" + effect + '\'');
if (!services.isEmpty()) {
KService::Ptr service = services.first();
if (compositingType == "xrender") {
// XRender compositing
QVariant openGL = service->property("X-KWin-Requires-OpenGL");
QVariant openGL2 = service->property("X-KWin-Requires-OpenGL2");
if ((openGL.isValid() && openGL.toBool()) ||
(openGL2.isValid() && openGL2.toBool())) {
// effect requires OpenGL
message = requiresOpenGL.subs(service->name()).toString();
} else {
// effect does not require OpenGL, unknown reason
message = unknownReason.subs(service->name()).toString();
}
} else if (compositingType == "gl1") {
// OpenGL 1 compositing
QVariant openGL2 = service->property("X-KWin-Requires-OpenGL2");
QVariant shaders = service->property("X-KWin-Requires-Shaders");
if (openGL2.isValid() && openGL2.toBool()) {
// effect requires OpenGL 2
message = requiresOpenGL2.subs(service->name()).toString();
} else if (shaders.isValid() && shaders.toBool()) {
// effect requires hardware shaders
message = requiresShaders.subs(service->name()).toString();
} else {
// unknown reason
message = unknownReason.subs(service->name()).toString();
}
} else {
// OpenGL 2 compositing - unknown reason
message = unknownReason.subs(service->name()).toString();
}
} else {
message = unknownReason.subs(effect).toString();
}
if (disabledEffects.count() > 1) {
text.append("<li>");
text.append(message);
text.append("</li>");
} else {
text = message;
}
}
if (disabledEffects.count() > 1) {
text.append("</ul>");
}
label->setText(text);
} else {
// compositing is not active - no effect can be active
label->setText(i18nc("Error Message shown when compositing is not active after tried activation",
"Desktop effect system is not running."));
}
dialog->show();
}
void KWinCompositingConfig::warn(QString message, QString details, QString dontAgainKey)
{
ui.messageBox->setText(message);
m_dontShowAgain->setData(dontAgainKey);
foreach (QWidget *w, m_dontShowAgain->associatedWidgets())
w->setVisible(!dontAgainKey.isEmpty());
m_externErrorDetails = details.isNull() ? "" : details;
foreach (QWidget *w, m_showDetailedErrors->associatedWidgets())
w->setVisible(!m_externErrorDetails.isEmpty());
ui.messageBox->animatedShow();
}
void KWinCompositingConfig::blockFutureWarnings() {
QString key;
if (QAction *act = qobject_cast<QAction*>(sender()))
key = act->data().toString();
if (key.isEmpty())
return;
QStringList l = key.split(':', QString::SkipEmptyParts);
KConfig cfg(l.count() > 1 ? l.at(0) : "kwin_dialogsrc");
KConfigGroup(&cfg, "Notification Messages").writeEntry(l.last(), false);
cfg.sync();
ui.messageBox->animatedHide();
}
void KWinCompositingConfig::configChanged(bool reinitCompositing)
{
// Send signal to kwin
mKWinConfig->sync();
// Send signal to all kwin instances
QDBusMessage message = QDBusMessage::createSignal("/KWin", "org.kde.KWin",
reinitCompositing ? "reinitCompositing" : "reloadConfig");
QDBusConnection::sessionBus().send(message);
// maybe it's ok now?
if (reinitCompositing && !ui.compositingOptionsContainer->isVisible())
load();
// HACK: We can't just do this here, due to the asynchronous nature of signals.
// We also can't change reinitCompositing into a message (which would allow
// callWithCallbac() to do this neater) due to multiple kwin instances.
if (!m_showConfirmDialog)
QTimer::singleShot(1000, this, SLOT(checkLoadedEffects()));
}
void KWinCompositingConfig::defaults()
{
ui.tabWidget->setCurrentIndex(0);
ui.useCompositing->setChecked(true);
ui.effectWinManagement->setChecked(true);
ui.effectAnimations->setChecked(true);
ui.desktopSwitchingCombo->setCurrentIndex(1);
ui.animationSpeedCombo->setCurrentIndex(3);
ui.effectSelector->defaults();
ui.compositingType->setCurrentIndex(OPENGL20_INDEX);
ui.windowThumbnails->setCurrentIndex(1);
ui.unredirectFullscreen->setChecked(false);
ui.xrScaleFilter->setCurrentIndex(0);
ui.glScaleFilter->setCurrentIndex(2);
ui.glSwapStrategy->setCurrentIndex(ui.glSwapStrategy->findData("a"));
ui.glColorCorrection->setChecked(false);
}
QString KWinCompositingConfig::quickHelp() const
{
return i18n("<h1>Desktop Effects</h1>");
}
void KWinCompositingConfig::slotGHNS()
{
QPointer<KNS3::DownloadDialog> downloadDialog = new KNS3::DownloadDialog("kwineffect.knsrc", this);
if (downloadDialog->exec() == KDialog::Accepted) {
if (!downloadDialog->changedEntries().isEmpty()) {
initEffectSelector();
}
}
delete downloadDialog;
}
} // namespace
#include "dbus.moc"
#include "main.moc"

View file

@ -1,110 +0,0 @@
/********************************************************************
KWin - the KDE window manager
This file is part of the KDE project.
Copyright (C) 2007 Rivo Laks <rivolaks@hot.ee>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*********************************************************************/
#ifndef __MAIN_H__
#define __MAIN_H__
#include <kcmodule.h>
#include <ksharedconfig.h>
#include "kwin_interface.h"
#include "ui_main.h"
#include "ktimerdialog.h"
class KPluginSelector;
class KActionCollection;
class QLabel;
class QTemporaryFile;
namespace KWin
{
class ConfirmDialog : public KTimerDialog
{
Q_OBJECT
public:
ConfirmDialog();
};
class KWinCompositingConfig : public KCModule
{
Q_OBJECT
public:
KWinCompositingConfig(QWidget *parent, const QVariantList &args);
virtual ~KWinCompositingConfig();
virtual QString quickHelp() const;
public slots:
virtual void showConfirmDialog(bool reinitCompositing);
void currentTabChanged(int tab);
virtual void load();
virtual void save();
virtual void defaults();
void reparseConfiguration(const QByteArray& conf);
void loadGeneralTab();
void loadEffectsTab();
void loadAdvancedTab();
void saveGeneralTab();
void saveEffectsTab();
bool saveAdvancedTab();
void checkLoadedEffects();
void configChanged(bool reinitCompositing);
void initEffectSelector();
void warn(QString message, QString details, QString dontAgainKey);
private slots:
void confirmReInit() { showConfirmDialog(true); }
void glSwapStrategyChanged(int idx);
void rearmGlSupport();
void suggestGraphicsSystem();
void alignGuiToCompositingType(int compositingType);
void toggleEffectShortcutChanged(const QKeySequence &seq);
void updateStatusUI(bool compositingIsPossible);
void showDetailedEffectLoadingInformation();
void blockFutureWarnings();
void slotGHNS();
private:
bool effectEnabled(const QString& effect, const KConfigGroup& cfg) const;
KSharedConfigPtr mKWinConfig;
Ui::KWinCompositingConfig ui;
QMap<QString, QString> mPreviousConfig;
QTemporaryFile mTmpConfigFile;
KSharedConfigPtr mTmpConfig;
bool m_showConfirmDialog;
KActionCollection* m_actionCollection;
QString originalGraphicsSystem;
QAction *m_showDetailedErrors;
QAction *m_dontShowAgain;
QString m_externErrorDetails;
};
} // namespace
#endif

View file

@ -1,988 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>KWinCompositingConfig</class>
<widget class="QWidget" name="KWinCompositingConfig">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>583</width>
<height>550</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="KMessageWidget" name="messageBox">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>2</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>General</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<spacer name="horizontalSpacer_9">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="KTitleWidget" name="statusTitleWidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_8">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QWidget" name="rearmGlSupport" native="true">
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="1" colspan="2">
<widget class="QLabel" name="label_9">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Pressing this button can crash the desktop.</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="0" rowspan="3">
<spacer name="horizontalSpacer_14">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>125</width>
<height>71</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="1" colspan="2">
<widget class="QCheckBox" name="rearmSafetyCheck">
<property name="text">
<string>I have saved my data.</string>
</property>
</widget>
</item>
<item row="0" column="3" rowspan="3">
<spacer name="horizontalSpacer_15">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>125</width>
<height>71</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="1" colspan="2">
<widget class="QPushButton" name="rearmGlSupportButton">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>Re-enable OpenGL detection</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<item>
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QWidget" name="compositingOptionsContainer" native="true">
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Activation</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QCheckBox" name="useCompositing">
<property name="text">
<string comment="@option:check">Enable desktop effects at startup</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer_5">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_6">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Desktop effects can be toggled anytime using this shortcut:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<widget class="KKeySequenceWidget" name="toggleEffectsShortcut"/>
</item>
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string comment="@title:group a few general options to set up desktop effects">Simple effect setup</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0" colspan="3">
<widget class="QCheckBox" name="effectWinManagement">
<property name="text">
<string>Improved window management</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0" colspan="3">
<widget class="QCheckBox" name="effectAnimations">
<property name="text">
<string>Various animations</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Effect for desktop switching:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>windowSwitchingCombo</cstring>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="KComboBox" name="desktopSwitchingCombo">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="2" column="2">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Animation speed:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>animationSpeedCombo</cstring>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="KComboBox" name="animationSpeedCombo">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="currentIndex">
<number>3</number>
</property>
<item>
<property name="text">
<string>Instant</string>
</property>
</item>
<item>
<property name="text">
<string>Very Fast</string>
</property>
</item>
<item>
<property name="text">
<string>Fast</string>
</property>
</item>
<item>
<property name="text">
<string>Normal</string>
</property>
</item>
<item>
<property name="text">
<string>Slow</string>
</property>
</item>
<item>
<property name="text">
<string>Very Slow</string>
</property>
</item>
<item>
<property name="text">
<string>Extremely Slow</string>
</property>
</item>
</widget>
</item>
<item row="3" column="2">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="4" column="0" colspan="3">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="5" column="0" colspan="3">
<widget class="QLabel" name="label">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>You can find more effects, as well as effect-specific settings, in the &quot;All Effects&quot; tab above.</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_7">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<spacer>
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>512</width>
<height>75</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>All Effects</string>
</attribute>
<layout class="QVBoxLayout">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Hint: To find out or configure how to activate an effect, look at the effect's settings.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="KPluginSelector" name="effectSelector" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>Qt::WheelFocus</enum>
</property>
</widget>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="KPushButton" name="ghns">
<property name="text">
<string>Get New Effects ...</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_4">
<attribute name="title">
<string>Advanced</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_6" rowstretch="1,0,2,0,0,0,10">
<item row="0" column="2">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>8</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="4" rowspan="7">
<spacer name="horizontalSpacer_11">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="3">
<spacer name="horizontalSpacer_13">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="5" column="1" colspan="3">
<widget class="QGroupBox" name="glGroup">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>OpenGL Options</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<layout class="QGridLayout" name="gridLayout_4">
<item row="3" column="0">
<widget class="QCheckBox" name="glColorCorrection">
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>&lt;p&gt;Activates color correction if possible, using the Kolor-Manager. Requires OpenGL 2 Shaders to be enabled and Kolor-Manager to be installed. May fail silently.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Experimental&lt;/strong&gt;.&lt;/p&gt;</string>
</property>
<property name="text">
<string>Enable color correction (experimental)</string>
</property>
</widget>
</item>
<item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_6" stretch="1,5">
<item>
<widget class="QLabel" name="glSwapStrategyLabel">
<property name="text">
<string>Tearing Prevention (VSync)</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>glSwapStrategy</cstring>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="glSwapStrategy"/>
</item>
</layout>
</item>
<item row="0" column="1">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="6" column="2">
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="4" column="1" colspan="3">
<widget class="QGroupBox" name="groupBox_3">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>General Options</string>
</property>
<property name="flat">
<bool>true</bool>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label_8">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Keep window thumbnails:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>windowThumbnails</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="KComboBox" name="windowThumbnails">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>3</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<item>
<property name="text">
<string comment="A window thumbnail requires to have the corresponding window mapped. To have thumbnails at all time, windows are not unmapped. This can break window minimization as it is modelled as unmapping of windows.">Always (Breaks minimization)</string>
</property>
</item>
<item>
<property name="text">
<string comment="Windows are not unmapped if the window is somewhere visible on any of the virtual desktops.">Only for Shown Windows</string>
</property>
</item>
<item>
<property name="text">
<string comment="Windows are unmapped as they are requested. This can lead to not having updated thumbnials for windows on other desktops.">Never</string>
</property>
</item>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="scaleMethodLabel">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Scale method:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>xrScaleFilter</cstring>
</property>
</widget>
</item>
<item row="1" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<property name="spacing">
<number>0</number>
</property>
<item>
<widget class="QComboBox" name="xrScaleFilter">
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Segoe'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Crisp:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;XRenderSetPictureFilter(&amp;quot;fast&amp;quot;)&lt;/span&gt; - Pretty fast on all GPUs but looks bricky&lt;/p&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Smooth:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;XRenderSetPictureFilter(&amp;quot;good&amp;quot;) &lt;/span&gt;- linear blending.&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Fast enough on newer nvidia GPUs and maybe others but also can be &lt;span style=&quot; text-decoration: underline;&quot;&gt;very&lt;/span&gt; slow, you will have to try it.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<item>
<property name="text">
<string>Crisp</string>
</property>
</item>
<item>
<property name="text">
<string>Smooth (slower)</string>
</property>
</item>
</widget>
</item>
<item>
<widget class="QComboBox" name="glScaleFilter">
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Segoe'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Crisp:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;GL_NEAREST&lt;/span&gt; - (very) fast on all GPUs but looks bricky&lt;/p&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Smooth:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-style:italic;&quot;&gt;GL_LINEAR&lt;/span&gt; - fast on most GPUs but a little blurry&lt;/p&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;Accurate:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Lanczos filter, requires glsl shader support.&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Might be slow on weaker GPUs and even cause various troubles with broken drivers (from overbrightening to segfaults).&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Fall back to &amp;quot;Smooth&amp;quot; if you have problems.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="currentIndex">
<number>1</number>
</property>
<item>
<property name="text">
<string>Crisp</string>
</property>
</item>
<item>
<property name="text">
<string>Smooth</string>
</property>
</item>
<item>
<property name="text">
<string>Accurate</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item row="2" column="0" colspan="2">
<widget class="QCheckBox" name="unredirectFullscreen">
<property name="text">
<string>Suspend desktop effects for fullscreen windows</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="0" rowspan="7">
<spacer name="horizontalSpacer_10">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="2">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="2">
<layout class="QGridLayout" name="gridLayout_5">
<item row="0" column="0">
<widget class="QLabel" name="label_7">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Compositing type:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
<property name="buddy">
<cstring>compositingType</cstring>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="KComboBox" name="compositingType">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>3</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<item>
<property name="text">
<string>OpenGL 3.1</string>
</property>
</item>
<item>
<property name="text">
<string>OpenGL 2.0</string>
</property>
</item>
<item>
<property name="text">
<string>OpenGL 1.2</string>
</property>
</item>
<item>
<property name="text">
<string>XRender</string>
</property>
</item>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Qt graphics system:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="graphicsSystem">
<property name="toolTip">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Segoe'; font-size:8pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;It is &lt;span style=&quot; font-weight:600;&quot;&gt;strongly recommended&lt;/span&gt; to use the &lt;span style=&quot; font-weight:600;&quot;&gt;native&lt;/span&gt; system when using the &lt;span style=&quot; font-weight:600;&quot;&gt;XRender&lt;/span&gt; backend.&lt;/p&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;On the other hand, many decorations perform better with the &lt;span style=&quot; font-weight:600;&quot;&gt;raster&lt;/span&gt; system on the &lt;span style=&quot; font-weight:600;&quot;&gt;default and generally preferred OpenGL&lt;/span&gt; backend (though some don't - also the impact here can be anything between &amp;quot;slight&amp;quot; and &amp;quot;incredible&amp;quot; depending on the GPU and driver)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<item>
<property name="text">
<string>Native</string>
</property>
</item>
<item>
<property name="text">
<string>Raster</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
<item row="1" column="1">
<spacer name="horizontalSpacer_12">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
<zorder>groupBox_3</zorder>
<zorder>glGroup</zorder>
</widget>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>KKeySequenceWidget</class>
<extends>QWidget</extends>
<header>kkeysequencewidget.h</header>
</customwidget>
<customwidget>
<class>KComboBox</class>
<extends>QComboBox</extends>
<header>kcombobox.h</header>
</customwidget>
<customwidget>
<class>KPushButton</class>
<extends>QPushButton</extends>
<header>kpushbutton.h</header>
</customwidget>
<customwidget>
<class>KTitleWidget</class>
<extends>QWidget</extends>
<header>ktitlewidget.h</header>
</customwidget>
<customwidget>
<class>KPluginSelector</class>
<extends>QWidget</extends>
<header>kpluginselector.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>KMessageWidget</class>
<extends>QFrame</extends>
<header>kmessagewidget.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>tabWidget</tabstop>
<tabstop>rearmSafetyCheck</tabstop>
<tabstop>rearmGlSupportButton</tabstop>
<tabstop>useCompositing</tabstop>
<tabstop>effectWinManagement</tabstop>
<tabstop>effectAnimations</tabstop>
<tabstop>desktopSwitchingCombo</tabstop>
<tabstop>animationSpeedCombo</tabstop>
<tabstop>effectSelector</tabstop>
<tabstop>ghns</tabstop>
<tabstop>compositingType</tabstop>
<tabstop>graphicsSystem</tabstop>
<tabstop>windowThumbnails</tabstop>
<tabstop>xrScaleFilter</tabstop>
<tabstop>glScaleFilter</tabstop>
<tabstop>unredirectFullscreen</tabstop>
<tabstop>glSwapStrategy</tabstop>
<tabstop>glColorCorrection</tabstop>
</tabstops>
<resources/>
<connections>
<connection>
<sender>rearmSafetyCheck</sender>
<signal>toggled(bool)</signal>
<receiver>rearmGlSupportButton</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>312</x>
<y>119</y>
</hint>
<hint type="destinationlabel">
<x>345</x>
<y>146</y>
</hint>
</hints>
</connection>
</connections>
</ui>