Merge branch 'master' into oxygen-shadows
Conflicts: kwin/atoms.cpp kwin/atoms.h
This commit is contained in:
commit
320de6abc6
90 changed files with 827 additions and 891 deletions
|
@ -114,6 +114,9 @@ Atoms::Atoms()
|
|||
atoms[n] = &net_wm_sync_request;
|
||||
names[n++] = (char*) "_NET_WM_SYNC_REQUEST";
|
||||
|
||||
atoms[n] = &kde_net_wm_block_compositing;
|
||||
names[n++] = (char*) "_KDE_NET_WM_BLOCK_COMPOSITING";
|
||||
|
||||
atoms[n] = &kde_net_wm_shadow;
|
||||
names[n++] = (char*) "_KDE_NET_WM_SHADOW";
|
||||
|
||||
|
|
1
atoms.h
1
atoms.h
|
@ -60,6 +60,7 @@ public:
|
|||
Atom kde_net_wm_frame_strut;
|
||||
Atom net_wm_sync_request_counter;
|
||||
Atom net_wm_sync_request;
|
||||
Atom kde_net_wm_block_compositing;
|
||||
Atom kde_net_wm_shadow;
|
||||
};
|
||||
|
||||
|
|
15
client.cpp
15
client.cpp
|
@ -95,6 +95,7 @@ Client::Client(Workspace* ws)
|
|||
, transient_for (NULL)
|
||||
, transient_for_id(None)
|
||||
, original_transient_for_id(None)
|
||||
, blocks_compositing(false)
|
||||
, autoRaiseTimer(NULL)
|
||||
, shadeHoverTimer(NULL)
|
||||
, delayedMoveResizeTimer(NULL)
|
||||
|
@ -2114,6 +2115,20 @@ void Client::updateCursor()
|
|||
cursor.handle(), xTime());
|
||||
}
|
||||
|
||||
void Client::updateCompositeBlocking(bool readProperty)
|
||||
{
|
||||
const bool usedToBlock = blocks_compositing;
|
||||
if (readProperty) {
|
||||
const unsigned long properties[2] = {0, NET::WM2BlockCompositing};
|
||||
NETWinInfo2 i(QX11Info::display(), window(), rootWindow(), properties, 2);
|
||||
blocks_compositing = rules()->checkBlockCompositing(i.isBlockingCompositing());
|
||||
}
|
||||
else
|
||||
blocks_compositing = rules()->checkBlockCompositing(blocks_compositing);
|
||||
if (usedToBlock != blocks_compositing)
|
||||
workspace()->updateCompositeBlocking(blocks_compositing ? this : 0);
|
||||
}
|
||||
|
||||
Client::Position Client::mousePosition(const QPoint& p) const
|
||||
{
|
||||
if (decoration != NULL)
|
||||
|
|
3
client.h
3
client.h
|
@ -295,6 +295,8 @@ public:
|
|||
|
||||
virtual void setupCompositing();
|
||||
virtual void finishCompositing();
|
||||
inline bool isBlockingCompositing() { return blocks_compositing; }
|
||||
void updateCompositeBlocking(bool readProperty = false);
|
||||
|
||||
QString caption(bool full = true) const;
|
||||
void updateCaption();
|
||||
|
@ -647,6 +649,7 @@ private:
|
|||
uint urgency : 1; ///< XWMHints, UrgencyHint
|
||||
uint ignore_focus_stealing : 1; ///< Don't apply focus stealing prevention to this client
|
||||
uint demands_attention : 1;
|
||||
bool blocks_compositing;
|
||||
WindowRules client_rules;
|
||||
void getWMHints();
|
||||
void readIcons();
|
||||
|
|
|
@ -21,7 +21,7 @@ Name[he]=רצועת לשוניות
|
|||
Name[hi]=टैबपट्टी
|
||||
Name[hr]=Kartični prikaz
|
||||
Name[hu]=Lapsáv
|
||||
Name[ia]=Banda de Scheda (Tabstrip)
|
||||
Name[ia]=Banda de scheda (Tabstrip)
|
||||
Name[id]=Tabstrip
|
||||
Name[is]=Tabstrip
|
||||
Name[it]=Linguette
|
||||
|
|
|
@ -282,6 +282,32 @@ void Workspace::toggleCompositing()
|
|||
}
|
||||
}
|
||||
|
||||
void Workspace::updateCompositeBlocking(Client *c)
|
||||
{
|
||||
if (c) { // if c == 0 we just check if we can resume
|
||||
if (c->isBlockingCompositing()) {
|
||||
compositingBlocked = true;
|
||||
suspendCompositing(true);
|
||||
}
|
||||
}
|
||||
else if (compositingBlocked) { // lost a client and we're blocked - can we resume?
|
||||
// NOTICE do NOT check for "compositingSuspended" or "!compositing()"
|
||||
// only "resume" if it was really disabled for a block
|
||||
bool resume = true;
|
||||
for (ClientList::ConstIterator it = clients.constBegin(); it != clients.constEnd(); ++it) {
|
||||
if ((*it)->isBlockingCompositing()) {
|
||||
resume = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (resume) { // do NOT attempt to call suspendCompositing(false); from within the eventchain!
|
||||
compositingBlocked = false;
|
||||
if (compositingSuspended)
|
||||
QMetaObject::invokeMethod(this, "slotToggleCompositing", Qt::QueuedConnection);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Workspace::suspendCompositing()
|
||||
{
|
||||
suspendCompositing(true);
|
||||
|
|
|
@ -37,6 +37,6 @@ install( TARGETS kwin_update_tabbox_settings DESTINATION ${LIB_INSTALL_DIR}/kcon
|
|||
|
||||
install( FILES fsp_workarounds_1.kwinrules DESTINATION ${DATA_INSTALL_DIR}/kwin/default_rules )
|
||||
install( FILES pop.wav DESTINATION ${SOUND_INSTALL_DIR} )
|
||||
install( FILES kwin.upd kwinsticky.upd kwiniconify.upd kwin3_plugin.upd kwin_focus1.upd kwinupdatewindowsettings.upd kwin_focus2.upd kwin_fsp_workarounds_1.upd kwin_on_off.upd kwin_window_shortcuts.upd kwin_update_tabbox_settings.upd kwin_blacklist.upd DESTINATION ${KCONF_UPDATE_INSTALL_DIR} )
|
||||
install( PROGRAMS pluginlibFix.pl kwin3_plugin.pl kwin_focus1.sh kwin_focus2.sh on-off_to_true-false.sh kwin_window_shortcuts.sh kwin_blacklist.sh DESTINATION ${KCONF_UPDATE_INSTALL_DIR} )
|
||||
install( FILES kwin.upd kwinsticky.upd kwiniconify.upd kwin3_plugin.upd kwin_focus1.upd kwinupdatewindowsettings.upd kwin_focus2.upd kwin_fsp_workarounds_1.upd kwin_on_off.upd kwin_window_shortcuts.upd kwin_update_tabbox_settings.upd DESTINATION ${KCONF_UPDATE_INSTALL_DIR} )
|
||||
install( PROGRAMS pluginlibFix.pl kwin3_plugin.pl kwin_focus1.sh kwin_focus2.sh on-off_to_true-false.sh kwin_window_shortcuts.sh DESTINATION ${KCONF_UPDATE_INSTALL_DIR} )
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ Description[hne]=(डिफाल्ट) एक्स वी बर फोकस
|
|||
Description[hr]=(Zadano) Onemogućuje prevenciju oduzimanja fokusa XV-u
|
||||
Description[hsb]=(Standard) XV zakazać, zo fokus na so storhnje
|
||||
Description[hu]=(Alapértelmezés) A fókusz elvételét megakadályozó funkció kikapcsolása az XV esetén
|
||||
Description[ia]=(Predefinite) Dishabilitar le prevention de furto de foco pro XV
|
||||
Description[ia]=(Predefinite) Dishabilita le prevention de furto de foco pro XV
|
||||
Description[id]=(Standar) Nonaktifkan pencegahan pencurian fokus untuk XV
|
||||
Description[is]=(Sjálfgefið) Aftengja vörn gegn fókusþjófnaði fyrir XV
|
||||
Description[it]=(Predefinita) Disabilita la prevenzione della cattura del fuoco per XV
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
while read line; do
|
||||
echo $line
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "[Blacklist][Lanczos]"
|
||||
echo "Intel=GM45 Express Chipset GEM 20100328:-:7.8.2,GM45 Express Chipset GEM 20091221:-:7.7.1,965GM GEM 20100328 2010Q1:-:7.8.2,965GM GEM 20091221 2009Q4:-:7.7.1,Ironlake Mobile GEM 20100328:-:7.8.2"
|
||||
echo "Advanced Micro Devices=DRI R600:-:7.8.1,DRI R600:-:7.8.2"
|
||||
echo ""
|
||||
echo "[Blacklist][Blur]"
|
||||
echo "Advanced Micro Devices=DRI R600:-:7.8.1,DRI R600:-:7.8.2"
|
||||
echo "Ati=Radeon HD 3650:-:3.3.9901"
|
||||
echo "NVIDIA=GeForce 6150/PCI/SSE2:-:195"
|
||||
echo ""
|
|
@ -1,3 +0,0 @@
|
|||
Id=Blacklist-4.5
|
||||
File=kwinrc
|
||||
Script=kwin_blacklist.sh,sh
|
|
@ -26,7 +26,7 @@ Name[hi]=ड्रंकन
|
|||
Name[hne]=ड्रंकन
|
||||
Name[hr]=Pijan
|
||||
Name[hu]=Dülöngélés
|
||||
Name[ia]=Inebriato
|
||||
Name[ia]=Inebriate
|
||||
Name[id]=Mabuk
|
||||
Name[is]=Drukkinn
|
||||
Name[it]=Ubriaco
|
||||
|
|
|
@ -30,7 +30,7 @@ Name[hi]=ज्वाला
|
|||
Name[hne]=ज्वाला
|
||||
Name[hr]=Plamen
|
||||
Name[hu]=Lángok
|
||||
Name[ia]=Flammar
|
||||
Name[ia]=Flamma
|
||||
Name[id]=Api
|
||||
Name[is]=Logar
|
||||
Name[it]=Fiamma
|
||||
|
|
|
@ -21,7 +21,7 @@ Name[gl]=Engrenaxes no cubo
|
|||
Name[he]=גלגלי שיניים בקובייה
|
||||
Name[hi]=क्यूब गेयर
|
||||
Name[hr]=Kocka s zupčanicima
|
||||
Name[ia]=Rotas dentate del Cubo
|
||||
Name[ia]=Rotas dentate del cubo
|
||||
Name[id]=Gigi Kubus
|
||||
Name[is]=Kubbagírar
|
||||
Name[it]=Ingranaggi del cubo
|
||||
|
@ -80,7 +80,7 @@ Comment[ga]=Taispeáin giaranna laistigh den chiúb
|
|||
Comment[gl]=Mostra engrenaxes dentro do cubo
|
||||
Comment[he]=מציג גלגלי שיניים בתוך קובייה
|
||||
Comment[hr]=Prikazuj zupčanike unutar kocke
|
||||
Comment[ia]=Monstrar rotas dentate intra le cubo
|
||||
Comment[ia]=Monstra rotas dentate intra le cubo
|
||||
Comment[id]=Tampilkan gigi di dalam kubus
|
||||
Comment[is]=Sýnir gírhjól innan í kassanum
|
||||
Comment[it]=Mostra gli ingranaggi nel cubo
|
||||
|
|
|
@ -29,7 +29,7 @@ Name[hi]=कैसे
|
|||
Name[hne]=कइसन
|
||||
Name[hr]=Kako
|
||||
Name[hu]=Leírás
|
||||
Name[ia]=Howto (Como Es)
|
||||
Name[ia]=Howto (Como il es)
|
||||
Name[id]=Howto
|
||||
Name[is]=Hvernig
|
||||
Name[it]=Come si fa
|
||||
|
|
|
@ -38,6 +38,7 @@ Comment[sr@ijekavianlatin]=Demonstracioni efekat za upotrebu EffectFrames
|
|||
Comment[sr@latin]=Demonstracioni efekat za upotrebu EffectFrames
|
||||
Comment[sv]=Demonstationseffekt för att använda effektramar-
|
||||
Comment[th]=ลูกเล่นสาธิตของการใช้กรอบลูกเล่น (EffectFrames)
|
||||
Comment[tr]=EfektÇerçeveleri (EffectFrames) kullanımında gösteri efekti
|
||||
Comment[uk]=Приклад використання EffectFrames
|
||||
Comment[x-test]=xxDemonstration effect for using EffectFramesxx
|
||||
Comment[zh_CN]=使用 EffectFrames 的演示特效
|
||||
|
|
|
@ -18,7 +18,7 @@ Name[ga]=Sleamhnaigh Cluaisíní
|
|||
Name[he]=החלקת לשוניות
|
||||
Name[hi]=टैब स्लाइड
|
||||
Name[hr]=Kliži kartice
|
||||
Name[ia]=Schedas a Glissar
|
||||
Name[ia]=Schedas a glissar
|
||||
Name[id]=Tab Geser
|
||||
Name[is]=Renna flipum
|
||||
Name[it]=Fai scivolare le schede
|
||||
|
@ -76,7 +76,7 @@ Comment[fy]=Glydet finsters as der wiksele of groepearre wurdt fan ljeppers
|
|||
Comment[ga]=Sleamhnaigh fuinneoga agus cluaisíní á ngrúpáil nó á n-athrú.
|
||||
Comment[he]=גלישת חלונות במעבר או קיבוץ לשוניות.
|
||||
Comment[hr]=Kliži prozore kada se prebacuju između ili grupiraju u kartice.
|
||||
Comment[ia]=Glissar fenestras quando on commuta o gruppa scheda.
|
||||
Comment[ia]=Glissa fenestras quando on commuta o gruppa scheda.
|
||||
Comment[id]=Geser jendela ketika memindahkan atau mengelompokkan tab.
|
||||
Comment[is]=Renna gluggum yfir skjáinn þegar skipt er um flipa eða þeir eru hópaðir.
|
||||
Comment[it]=Fai scivolare le finestre quando si cambiano o raggruppano le schede.
|
||||
|
|
|
@ -25,7 +25,7 @@ Name[ga]=Sleamhnaigh Cluaisíní
|
|||
Name[he]=החלקת לשוניות
|
||||
Name[hi]=टैब स्लाइड
|
||||
Name[hr]=Kliži kartice
|
||||
Name[ia]=Schedas a Glissar
|
||||
Name[ia]=Schedas a glissar
|
||||
Name[id]=Tab Geser
|
||||
Name[is]=Renna flipum
|
||||
Name[it]=Fai scivolare le schede
|
||||
|
|
|
@ -18,7 +18,7 @@ Name[ga]=Cluaisíní Sclóine
|
|||
Name[he]=לשוניות מסתובבות
|
||||
Name[hi]=घूमते टैब
|
||||
Name[hr]=Kartice koje se okreću oko osi
|
||||
Name[ia]=Schedas cardine
|
||||
Name[ia]=Schedas de cardine
|
||||
Name[id]=Tab Putar
|
||||
Name[is]=Snúa flipum
|
||||
Name[it]=Fai girare le schede
|
||||
|
|
|
@ -25,7 +25,7 @@ Name[ga]=Cluaisíní Sclóine
|
|||
Name[he]=לשוניות מסתובבות
|
||||
Name[hi]=घूमते टैब
|
||||
Name[hr]=Kartice koje se okreću oko osi
|
||||
Name[ia]=Schedas cardine
|
||||
Name[ia]=Schedas de cardine
|
||||
Name[id]=Tab Putar
|
||||
Name[is]=Snúa flipum
|
||||
Name[it]=Fai girare le schede
|
||||
|
|
|
@ -29,7 +29,7 @@ Name[hi]=लघुछवि_जाँचें
|
|||
Name[hne]=चिनहा_जांचव
|
||||
Name[hr]=Text_Sličica
|
||||
Name[hu]=Teszt-gyorsnézet
|
||||
Name[ia]=Test_Thumbnail (Essaya Notas)
|
||||
Name[ia]=Test_Thumbnail (Essaya miniaturas)
|
||||
Name[id]=Test_Thumbnail
|
||||
Name[is]=Prófa_smámynd
|
||||
Name[it]=Prova_miniatura
|
||||
|
|
|
@ -32,7 +32,7 @@ Name[hi]=वीडियो रेकॉर्ड
|
|||
Name[hne]=वीडियो रेकार्ड
|
||||
Name[hr]=Snimanje videa
|
||||
Name[hu]=Videófelvevő
|
||||
Name[ia]=Registrar Video
|
||||
Name[ia]=Video registra
|
||||
Name[id]=Rekam Video
|
||||
Name[is]=Vídeó upptaka
|
||||
Name[it]=Registra video
|
||||
|
|
|
@ -39,7 +39,7 @@ Name[hi]=वीडियो रेकॉर्ड
|
|||
Name[hne]=वीडियो रेकार्ड
|
||||
Name[hr]=Snimanje videa
|
||||
Name[hu]=Videófelvevő
|
||||
Name[ia]=Registrar Video
|
||||
Name[ia]=Video registra
|
||||
Name[id]=Rekam Video
|
||||
Name[is]=Vídeó upptaka
|
||||
Name[it]=Registra video
|
||||
|
|
|
@ -32,7 +32,7 @@ Name[hne]=धुंधला करव
|
|||
Name[hr]=Mrlja
|
||||
Name[hsb]=Młowojty
|
||||
Name[hu]=Elmosódás
|
||||
Name[ia]=Obscurar
|
||||
Name[ia]=Obscura (Blur)
|
||||
Name[id]=Samar
|
||||
Name[is]=Móða
|
||||
Name[it]=Sfocatura
|
||||
|
|
|
@ -39,7 +39,7 @@ Name[hne]=धुंधला करव
|
|||
Name[hr]=Mrlja
|
||||
Name[hsb]=Młowojty
|
||||
Name[hu]=Elmosódás
|
||||
Name[ia]=Obscurar
|
||||
Name[ia]=Obscura (Blur)
|
||||
Name[id]=Samar
|
||||
Name[is]=Móða
|
||||
Name[it]=Sfocatura
|
||||
|
|
|
@ -28,7 +28,7 @@ Name[hne]=बाक्स स्विच
|
|||
Name[hr]=Kartična promjena
|
||||
Name[hsb]=Kašćikowe přešaltowanje
|
||||
Name[hu]=Váltódoboz
|
||||
Name[ia]=Commutator de Quadrato (Box Switch)
|
||||
Name[ia]=Commutator de quadrato
|
||||
Name[id]=Ganti Kotak
|
||||
Name[is]=Kassaskiptir
|
||||
Name[it]=Scambiafinestre a caselle
|
||||
|
|
|
@ -35,7 +35,7 @@ Name[hne]=बाक्स स्विच
|
|||
Name[hr]=Kartična promjena
|
||||
Name[hsb]=Kašćikowe přešaltowanje
|
||||
Name[hu]=Váltódoboz
|
||||
Name[ia]=Commutator de Quadrato (Box Switch)
|
||||
Name[ia]=Commutator de quadrato
|
||||
Name[id]=Ganti Kotak
|
||||
Name[is]=Kassaskiptir
|
||||
Name[it]=Scambiafinestre a caselle
|
||||
|
|
|
@ -988,6 +988,8 @@ void CoverSwitchEffect::abort()
|
|||
|
||||
void CoverSwitchEffect::slotWindowClosed(EffectWindow* c)
|
||||
{
|
||||
if (c == selected_window)
|
||||
selected_window = 0;
|
||||
// if the list is not empty, the effect is active
|
||||
if (!currentWindowList.isEmpty()) {
|
||||
c->refWindow();
|
||||
|
|
|
@ -25,7 +25,7 @@ Name[hi]=कवर स्विच
|
|||
Name[hne]=कवर स्विच
|
||||
Name[hr]=Pokrivač – promjena
|
||||
Name[hu]=Fedett váltódoboz
|
||||
Name[ia]=Commutar Copertura
|
||||
Name[ia]=Commutator de copertura
|
||||
Name[id]=Ganti Sampul
|
||||
Name[is]=Síðuskiptir
|
||||
Name[it]=Scambiafinestre circolare
|
||||
|
|
|
@ -32,7 +32,7 @@ Name[hi]=कवर स्विच
|
|||
Name[hne]=कवर स्विच
|
||||
Name[hr]=Pokrivač – promjena
|
||||
Name[hu]=Fedett váltódoboz
|
||||
Name[ia]=Commutar Copertura
|
||||
Name[ia]=Commutator de copertura
|
||||
Name[id]=Ganti Sampul
|
||||
Name[is]=Síðuskiptir
|
||||
Name[it]=Scambiafinestre circolare
|
||||
|
|
|
@ -29,7 +29,7 @@ Name[hne]=डेस्कटाप घन
|
|||
Name[hr]=Radna površina na kocki
|
||||
Name[hsb]=Kóstka
|
||||
Name[hu]=Asztalkocka
|
||||
Name[ia]=Cubo de Scriptorio
|
||||
Name[ia]=Cubo de scriptorio
|
||||
Name[id]=Kubus Desktop
|
||||
Name[is]=Skjáborðskubbur
|
||||
Name[it]=Cubo dei desktop
|
||||
|
@ -104,7 +104,7 @@ Comment[hne]=हर एक आभासी डेस्कटाप ल घन
|
|||
Comment[hr]=Prikazuje svaku virtualnu radnu površinu na strani kocke
|
||||
Comment[hsb]=Pokazuje kóždy wirtuelny dźěłowy powjerch na boku kóstki
|
||||
Comment[hu]=A virtuális asztalok egy kocka lapjain jelennek meg
|
||||
Comment[ia]=Monstrar cata scriptorio virtual sur un facie de un cubo
|
||||
Comment[ia]=Monstra cata scriptorio virtual sur un facie de un cubo
|
||||
Comment[id]=Tampilkan tiap desktop virtual di sisi sebuah kubus
|
||||
Comment[is]=Sýnir hvert sýndarskjáborð á sinni hlið kassa
|
||||
Comment[it]=Mostra ogni desktop virtuale sul lato di un cubo
|
||||
|
|
|
@ -36,7 +36,7 @@ Name[hne]=डेस्कटाप घन
|
|||
Name[hr]=Radna površina na kocki
|
||||
Name[hsb]=Kóstka
|
||||
Name[hu]=Asztalkocka
|
||||
Name[ia]=Cubo de Scriptorio
|
||||
Name[ia]=Cubo de scriptorio
|
||||
Name[id]=Kubus Desktop
|
||||
Name[is]=Skjáborðskubbur
|
||||
Name[it]=Cubo dei desktop
|
||||
|
|
|
@ -25,7 +25,7 @@ Name[he]=הנפשת שולחן עבודה בקובייה
|
|||
Name[hi]=डेस्कटॉप घन एनिमेशन
|
||||
Name[hr]=Animacija kocke s radnom površinom
|
||||
Name[hu]=Asztalváltó kocka
|
||||
Name[ia]=Animation de Cubo de Scriptorio
|
||||
Name[ia]=Animation de cubo de scriptorio
|
||||
Name[id]=Animasi Kubus Desktop
|
||||
Name[is]=Hreyfingar á skjáborðskubbi
|
||||
Name[it]=Animazione del cubo dei desktop
|
||||
|
@ -87,7 +87,7 @@ Comment[gl]=Anima o troco de escritorio cunha forma cúbica
|
|||
Comment[he]=הנפשת מעבר בין שולחנות־עבודה על־ידי קובייה
|
||||
Comment[hr]=Animacija promjene radne površine na kocki
|
||||
Comment[hu]=Asztalváltás kocka alakzattal
|
||||
Comment[ia]=Commutar scriptorio animate con un cubo
|
||||
Comment[ia]=Commuta scriptorio animate con un cubo
|
||||
Comment[id]=Animasi penggantian desktop di dalam kubus
|
||||
Comment[is]=Hreyfa til skjáborðaskiptingu á kubbi
|
||||
Comment[it]=Anima il cambio di desktop con un cubo
|
||||
|
|
|
@ -32,7 +32,7 @@ Name[he]=הנפשת שולחן עבודה בקובייה
|
|||
Name[hi]=डेस्कटॉप घन एनिमेशन
|
||||
Name[hr]=Animacija kocke s radnom površinom
|
||||
Name[hu]=Asztalváltó kocka
|
||||
Name[ia]=Animation de Cubo de Scriptorio
|
||||
Name[ia]=Animation de cubo de scriptorio
|
||||
Name[id]=Animasi Kubus Desktop
|
||||
Name[is]=Hreyfingar á skjáborðskubbi
|
||||
Name[it]=Animazione del cubo dei desktop
|
||||
|
|
|
@ -29,7 +29,7 @@ Name[hi]=डैशबोर्ड
|
|||
Name[hne]=डेशबोर्ड
|
||||
Name[hr]=Nadzorna ploča
|
||||
Name[hu]=Dashboard
|
||||
Name[ia]=Pannello de Instrumentos
|
||||
Name[ia]=Pannello de instrumentos
|
||||
Name[id]=Dasbor
|
||||
Name[is]=Dashboard
|
||||
Name[it]=Dashboard
|
||||
|
@ -111,6 +111,7 @@ Comment[sr@ijekavianlatin]=Posivljuje površ pri pojavi instrument-table Plasme
|
|||
Comment[sr@latin]=Posivljuje površ pri pojavi instrument-table Plasme
|
||||
Comment[sv]=Försvaga skrivbordet när Plasmas instrumentpanel visas
|
||||
Comment[th]=ลดความอิ่มสีของพื้นที่ทำงาน เมื่อมีการแสดงแดชบอร์ดของพลาสมา
|
||||
Comment[tr]=Plasma kontrol paneli gösterilirken masaüstünü solgunlaştır
|
||||
Comment[uk]=Зменшення насиченості кольорів стільниці під час показу панелі приладів Плазми
|
||||
Comment[x-test]=xxDesaturate the desktop when displaying the Plasma dashboardxx
|
||||
Comment[zh_TW]=顯示 Plasma 資訊看板時將桌面淡化
|
||||
|
|
|
@ -36,7 +36,7 @@ Name[hi]=डैशबोर्ड
|
|||
Name[hne]=डेशबोर्ड
|
||||
Name[hr]=Nadzorna ploča
|
||||
Name[hu]=Dashboard
|
||||
Name[ia]=Pannello de Instrumentos
|
||||
Name[ia]=Pannello de instrumentos
|
||||
Name[id]=Dasbor
|
||||
Name[is]=Dashboard
|
||||
Name[it]=Dashboard
|
||||
|
|
|
@ -430,6 +430,8 @@ void DesktopGridEffect::slotWindowClosed(EffectWindow* w)
|
|||
|
||||
void DesktopGridEffect::slotWindowDeleted(EffectWindow* w)
|
||||
{
|
||||
if (w == windowMove)
|
||||
windowMove = 0;
|
||||
for (QHash< DesktopButtonsView*, EffectWindow*>::iterator it = m_desktopButtonsViews.begin();
|
||||
it != m_desktopButtonsViews.end(); ++it) {
|
||||
if (it.value() && it.value() == w) {
|
||||
|
|
|
@ -30,7 +30,7 @@ Name[hi]=डेस्कटॉप ग्रिड
|
|||
Name[hne]=डेस्कटाप ग्रिड
|
||||
Name[hr]=Mreža radne površine
|
||||
Name[hu]=Asztalrács
|
||||
Name[ia]=Grillia de Scriptorio
|
||||
Name[ia]=Grillia de scriptorio
|
||||
Name[id]=Petak Desktop
|
||||
Name[is]=Skjáborðsmöskvi
|
||||
Name[it]=Griglia dei Desktop
|
||||
|
|
|
@ -37,7 +37,7 @@ Name[hi]=डेस्कटॉप ग्रिड
|
|||
Name[hne]=डेस्कटाप ग्रिड
|
||||
Name[hr]=Mreža radne površine
|
||||
Name[hu]=Asztalrács
|
||||
Name[ia]=Grillia de Scriptorio
|
||||
Name[ia]=Grillia de scriptorio
|
||||
Name[id]=Petak Desktop
|
||||
Name[is]=Skjáborðsmöskvi
|
||||
Name[it]=Griglia dei Desktop
|
||||
|
|
|
@ -28,7 +28,7 @@ Name[hi]=मूल संवाद
|
|||
Name[hne]=मूल गोठ
|
||||
Name[hr]=Dialog Roditelj
|
||||
Name[hu]=Párbeszédablak-tartó
|
||||
Name[ia]=Dialogo Genitor
|
||||
Name[ia]=Dialogo genitor
|
||||
Name[id]=Induk Dialog
|
||||
Name[is]=Dekking undir valglugga
|
||||
Name[it]=Finestra madre
|
||||
|
|
|
@ -26,7 +26,7 @@ Name[hi]=प्रबंधक मोड के लिए स्क्रीन
|
|||
Name[hne]=प्रसासक मोड बर स्क्रीन ल धुंधला कर देव
|
||||
Name[hr]=Priguši zaslon za administrativni način
|
||||
Name[hu]=Halványított képernyő rendszergazdai módban
|
||||
Name[ia]=Schermo Dim pro Modo Administrator
|
||||
Name[ia]=Schermo Dim pro modo de administrator
|
||||
Name[id]=Layar Dim Untuk Mode Administrator
|
||||
Name[is]=Dimma skjá fyrir kerfisstjóraham
|
||||
Name[it]=Scurisci lo schermo in modalità amministrativa
|
||||
|
|
|
@ -24,7 +24,7 @@ Name[gu]=ડેસ્કટોપ ઝાંખુ કરો
|
|||
Name[he]=חשיפה והיעלמות בין שולחנות עבודה
|
||||
Name[hr]=Preklapanje radnih površina
|
||||
Name[hu]=Elhalványuló váltás
|
||||
Name[ia]=Pallidi Scriptorio
|
||||
Name[ia]=Pallidi scriptorio
|
||||
Name[id]=Pudar Desktop
|
||||
Name[is]=Þynna út skjáborð
|
||||
Name[it]=Dissolvenza dei desktop
|
||||
|
|
|
@ -26,7 +26,7 @@ Name[hi]=टूट कर गिरना
|
|||
Name[hne]=टूट कर गिरना
|
||||
Name[hr]=Raspad
|
||||
Name[hu]=Szétbontás
|
||||
Name[ia]=Cader a pecias
|
||||
Name[ia]=Cade a pecias
|
||||
Name[id]=Hancur
|
||||
Name[is]=Sundurfall
|
||||
Name[it]=Cadi a pezzi
|
||||
|
|
|
@ -591,6 +591,8 @@ void FlipSwitchEffect::slotWindowAdded(EffectWindow* w)
|
|||
|
||||
void FlipSwitchEffect::slotWindowClosed(EffectWindow* w)
|
||||
{
|
||||
if (m_selectedWindow == w)
|
||||
m_selectedWindow = 0;
|
||||
if (m_active && m_windows.contains(w)) {
|
||||
m_windows.remove(w);
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ Name[hi]=स्विच बदलें
|
|||
Name[hne]=फ्लिप स्विच
|
||||
Name[hr]=Naslagani prozori – promjena
|
||||
Name[hu]=Billenős váltódoboz
|
||||
Name[ia]=Commuta Colpetto (Flip)
|
||||
Name[ia]=Commutator de colpetto (Flip)
|
||||
Name[id]=Melipat
|
||||
Name[is]=Flettirofi
|
||||
Name[it]=Scambiafinestre a pila
|
||||
|
@ -88,7 +88,7 @@ Comment[he]=מעבר בין חלון המסודרים בערמה במעביר ה
|
|||
Comment[hne]=आल्ट+टेब विंडो बदलइया मं रखे विंडो ल आपस मं बदलव
|
||||
Comment[hr]=Prilikom promjene prozora sa alt+tab, prozori se prikazuju naslagani jedan na drugog u 3 dimenzije
|
||||
Comment[hu]=Halomban megjelenített ablakokkal dolgozó Alt+Tab-os ablakváltó
|
||||
Comment[ia]=Colpa (Flip) fenestras que es in le stack per le commutator de fenestra alt-tab
|
||||
Comment[ia]=Colpa (Flip) trans fenestras que es in le stack per le commutator de fenestra alt-tab
|
||||
Comment[id]=Melipat di antara jendela yang ada di tumpukan untuk pengganti jendela alt+tab
|
||||
Comment[is]=Flettir í gegnum stafla af gluggum í alt+tab skiptiglugganum
|
||||
Comment[it]=Sfoglia le finestre ordinate in pila con lo scambiafinestre Alt-Tab
|
||||
|
|
|
@ -31,7 +31,7 @@ Name[hi]=स्विच बदलें
|
|||
Name[hne]=फ्लिप स्विच
|
||||
Name[hr]=Naslagani prozori – promjena
|
||||
Name[hu]=Billenős váltódoboz
|
||||
Name[ia]=Commuta Colpetto (Flip)
|
||||
Name[ia]=Commutator de colpetto (Flip)
|
||||
Name[id]=Melipat
|
||||
Name[is]=Flettirofi
|
||||
Name[it]=Scambiafinestre a pila
|
||||
|
|
|
@ -234,4 +234,9 @@ GlideEffect::WindowInfo::WindowInfo()
|
|||
{
|
||||
}
|
||||
|
||||
GlideEffect::WindowInfo::~WindowInfo()
|
||||
{
|
||||
delete timeLine;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
|
|
@ -17,7 +17,7 @@ Name[ga]=Sleamhnaigh
|
|||
Name[he]=גלישה
|
||||
Name[hi]=ग्लाइड
|
||||
Name[hr]=Klizanje
|
||||
Name[ia]=Glissar
|
||||
Name[ia]=Glissa
|
||||
Name[id]=Glide
|
||||
Name[is]=Svífa
|
||||
Name[it]=Plana
|
||||
|
@ -70,7 +70,7 @@ Comment[fr]=Fait glisser les fenêtres lorsqu'elles sont ouvertes ou fermées
|
|||
Comment[ga]=Maisíocht Sleamhnaithe agus fuinneoga á n-oscailt agus á ndúnadh
|
||||
Comment[he]=אפקט גלישת חלונות בפתיחתם וסגירתם
|
||||
Comment[hr]=Efekt kližućih prozora dok se otvaraju i zatvaraju
|
||||
Comment[ia]=Effectos de Glissar durante que illos es aperite e claudite
|
||||
Comment[ia]=Effectos de glissar durante que illos es aperite e claudite
|
||||
Comment[id]=Efek Glid Jendela ketika jendela dibuka dan ditutup
|
||||
Comment[is]=Lætur glugga svífa þegar þeir eru opnaðir eða þeim er lokað
|
||||
Comment[it]=Effetto di planata delle finestre quando vengono aperte e chiuse
|
||||
|
|
|
@ -70,9 +70,7 @@ class GlideEffect::WindowInfo
|
|||
{
|
||||
public:
|
||||
WindowInfo();
|
||||
~WindowInfo() {
|
||||
delete timeLine;
|
||||
}
|
||||
~WindowInfo();
|
||||
bool deleted;
|
||||
bool added;
|
||||
bool closed;
|
||||
|
|
|
@ -24,7 +24,7 @@ Name[ga]=Sleamhnaigh
|
|||
Name[he]=גלישה
|
||||
Name[hi]=ग्लाइड
|
||||
Name[hr]=Klizanje
|
||||
Name[ia]=Glissar
|
||||
Name[ia]=Glissa
|
||||
Name[id]=Glide
|
||||
Name[is]=Svífa
|
||||
Name[it]=Plana
|
||||
|
|
|
@ -25,7 +25,7 @@ Name[he]=הבלטת חלון
|
|||
Name[hi]=अनुकृति विंडो
|
||||
Name[hr]=Označi prozor
|
||||
Name[hu]=Ablakkiemelés
|
||||
Name[ia]=Fenestra Evidentiate
|
||||
Name[ia]=Evidentia fenestra
|
||||
Name[id]=Sorot Jendela
|
||||
Name[is]=Ljóma glugga
|
||||
Name[it]=Evidenzia la finestra
|
||||
|
|
|
@ -32,7 +32,7 @@ Name[hne]=लागइन
|
|||
Name[hr]=Prijava
|
||||
Name[hsb]=Přizjewjenje
|
||||
Name[hu]=Bejelentkezés
|
||||
Name[ia]=Accesso
|
||||
Name[ia]=Accesso de identification
|
||||
Name[id]=Log Masuk
|
||||
Name[is]=Innskráning
|
||||
Name[it]=Accesso
|
||||
|
@ -107,7 +107,7 @@ Comment[he]=עמעום המסך בהדרגה בעת הכניסה למערכת
|
|||
Comment[hne]=जब लागइन होथे तब डेस्कटाप मं धीरे से फेड होथे
|
||||
Comment[hr]=Lagano pojavljivanje radne površine prilikom prijave na sustav
|
||||
Comment[hu]=Folyamatos átmenet az asztalra bejelentkezéskor
|
||||
Comment[ia]=Dulcemente pallidi le scriptorio quando tu accede
|
||||
Comment[ia]=Dulcemente pallidi le scriptorio quando tu accede in identification
|
||||
Comment[id]=Memudar dengan halus ke desktop ketika log masuk
|
||||
Comment[is]=Láta skjáborð koma mjúklega í ljós við innstimplun
|
||||
Comment[it]=Dissolvenza graduale del desktop all'accesso
|
||||
|
|
|
@ -97,7 +97,7 @@ Comment[hi]=जब विंडो न्यूनतम किया जा र
|
|||
Comment[hne]=जब विंडो ल सबसे कम करथे तब एक जादू के बत्ती देखाथे
|
||||
Comment[hr]=Simulacija čarobne svjetiljke prilikom minimizacije prozora
|
||||
Comment[hu]=Az ablakok minimalizálása varázslámpás animáció kíséretében történik
|
||||
Comment[ia]=Simula un lampa magic quando minimiza fenestras
|
||||
Comment[ia]=Simula un lampa magic quando minimisa fenestras
|
||||
Comment[id]=Simulasikan sebuah lampu ajaib ketika meminimalkan jendela
|
||||
Comment[is]=Líkir eftir töfralampa við lágmörkun glugga
|
||||
Comment[it]=Simula una lampada magica nella minimizzazione delle finestre
|
||||
|
|
|
@ -110,7 +110,7 @@ Comment[hi]=माउस संकेतक के चारों ओर का
|
|||
Comment[hne]=मुसुवा के आसपास के स्क्रीन जगह ल आवर्धित करथे
|
||||
Comment[hr]=Povećanje dijela ekrana koji je blizu pokazivača miša
|
||||
Comment[hu]=Felnagyítja az egérmutató alatti területet
|
||||
Comment[ia]=Aggrandir le section del schermo que es vicin al cursor del mus
|
||||
Comment[ia]=Aggrandi le section del schermo que es vicin al cursor del mus
|
||||
Comment[id]=Besarkan bagian layar yang dekat dengan kursor tetikus
|
||||
Comment[is]=Stækkar þann hluta skjásins sem er undir músarbendlinum
|
||||
Comment[it]=Ingrandisce la parte dello schermo vicina al cursore del mouse
|
||||
|
|
|
@ -30,7 +30,7 @@ Name[hi]=न्यूनतम करने पर एनीमेशन
|
|||
Name[hne]=छोटी करे समय एनीमेसन
|
||||
Name[hr]=Animacija minimizacije
|
||||
Name[hu]=Animáció minimalizáláskor
|
||||
Name[ia]=Animation de Minimisar
|
||||
Name[ia]=Animation de minimisar
|
||||
Name[id]=Animasi Meminimalkan
|
||||
Name[is]=Hreyfingar við lágmörkun
|
||||
Name[it]=Animazione di minimizzazione
|
||||
|
|
|
@ -30,7 +30,7 @@ Name[hi]=माउस मार्क
|
|||
Name[hne]=मुसुवा चिनहा
|
||||
Name[hr]=Oznaka miša
|
||||
Name[hu]=Egérnyom
|
||||
Name[ia]=Marca de Mus
|
||||
Name[ia]=Marca de mus
|
||||
Name[id]=Tanda Tetikus
|
||||
Name[is]=Músarspor
|
||||
Name[it]=Pennarello
|
||||
|
|
|
@ -37,7 +37,7 @@ Name[hi]=माउस मार्क
|
|||
Name[hne]=मुसुवा चिनहा
|
||||
Name[hr]=Oznaka miša
|
||||
Name[hu]=Egérnyom
|
||||
Name[ia]=Marca de Mus
|
||||
Name[ia]=Marca de mus
|
||||
Name[id]=Tanda Tetikus
|
||||
Name[is]=Músarspor
|
||||
Name[it]=Pennarello
|
||||
|
|
|
@ -257,42 +257,47 @@ void PresentWindowsEffect::prePaintWindow(EffectWindow *w, WindowPrePaintData &d
|
|||
{
|
||||
// TODO: We should also check to see if any windows are fading just in case fading takes longer
|
||||
// than moving the windows when the effect is deactivated.
|
||||
if ((m_activated || m_motionManager.areWindowsMoving()) && m_windowData.contains(w)) {
|
||||
if (m_activated || m_motionManager.areWindowsMoving()) {
|
||||
DataHash::iterator winData = m_windowData.find(w);
|
||||
if (winData == m_windowData.end()) {
|
||||
effects->prePaintWindow(w, data, time);
|
||||
return;
|
||||
}
|
||||
w->enablePainting(EffectWindow::PAINT_DISABLED_BY_MINIMIZE); // Display always
|
||||
w->enablePainting(EffectWindow::PAINT_DISABLED_BY_DESKTOP);
|
||||
if (m_windowData[w].visible)
|
||||
if (winData->visible)
|
||||
w->enablePainting(EffectWindow::PAINT_DISABLED_BY_CLIENT_GROUP);
|
||||
|
||||
// Calculate window's opacity
|
||||
// TODO: Minimized windows or windows not on the current desktop are only 75% visible?
|
||||
if (m_windowData[w].visible) {
|
||||
if (m_windowData[w].deleted)
|
||||
m_windowData[w].opacity = qMax(0.0, m_windowData[w].opacity - time / m_fadeDuration);
|
||||
if (winData->visible) {
|
||||
if (winData->deleted)
|
||||
winData->opacity = qMax(0.0, winData->opacity - time / m_fadeDuration);
|
||||
else
|
||||
m_windowData[w].opacity = qMin(/*( w->isMinimized() || !w->isOnCurrentDesktop() ) ? 0.75 :*/ 1.0,
|
||||
m_windowData[w].opacity + time / m_fadeDuration);
|
||||
winData->opacity = qMin(/*(w->isMinimized() || !w->isOnCurrentDesktop()) ? 0.75 :*/ 1.0,
|
||||
winData->opacity + time / m_fadeDuration);
|
||||
} else
|
||||
m_windowData[w].opacity = qMax(0.0, m_windowData[w].opacity - time / m_fadeDuration);
|
||||
if (m_windowData[w].opacity == 0.0) {
|
||||
winData->opacity = qMax(0.0, winData->opacity - time / m_fadeDuration);
|
||||
if (winData->opacity <= 0.0) {
|
||||
// don't disable painting for panels if show panel is set
|
||||
if (!w->isDock() || (w->isDock() && !m_showPanel))
|
||||
if (!(m_showPanel && w->isDock()))
|
||||
w->disablePainting(EffectWindow::PAINT_DISABLED);
|
||||
} else if (m_windowData[w].opacity != 1.0)
|
||||
} else if (winData->opacity != 1.0)
|
||||
data.setTranslucent();
|
||||
|
||||
// Calculate window's brightness
|
||||
if (w == m_highlightedWindow || w == m_closeWindow || !m_activated)
|
||||
m_windowData[w].highlight = qMin(1.0, m_windowData[w].highlight + time / m_fadeDuration);
|
||||
winData->highlight = qMin(1.0, winData->highlight + time / m_fadeDuration);
|
||||
else
|
||||
m_windowData[w].highlight = qMax(0.0, m_windowData[w].highlight - time / m_fadeDuration);
|
||||
winData->highlight = qMax(0.0, winData->highlight - time / m_fadeDuration);
|
||||
|
||||
// Closed windows
|
||||
if (m_windowData[w].deleted) {
|
||||
if (winData->deleted) {
|
||||
data.setTranslucent();
|
||||
if (m_windowData[w].opacity <= 0.0 && m_windowData[w].referenced) {
|
||||
if (winData->opacity <= 0.0 && winData->referenced) {
|
||||
// it's possible that another effect has referenced the window
|
||||
// we have to keep the window in the list to prevent flickering
|
||||
m_windowData[w].referenced = false;
|
||||
winData->referenced = false;
|
||||
w->unrefWindow();
|
||||
} else
|
||||
w->enablePainting(EffectWindow::PAINT_DISABLED_BY_DELETE);
|
||||
|
@ -310,16 +315,17 @@ void PresentWindowsEffect::prePaintWindow(EffectWindow *w, WindowPrePaintData &d
|
|||
|
||||
void PresentWindowsEffect::paintWindow(EffectWindow *w, int mask, QRegion region, WindowPaintData &data)
|
||||
{
|
||||
if ((m_activated || m_motionManager.areWindowsMoving()) && m_windowData.contains(w)) {
|
||||
if (w->isDock() && m_showPanel) {
|
||||
if (m_activated || m_motionManager.areWindowsMoving()) {
|
||||
DataHash::const_iterator winData = m_windowData.constFind(w);
|
||||
if (winData == m_windowData.constEnd() || (w->isDock() && m_showPanel)) {
|
||||
// in case the panel should be shown just display it without any changes
|
||||
effects->paintWindow(w, mask, region, data);
|
||||
return;
|
||||
}
|
||||
|
||||
// Apply opacity and brightness
|
||||
data.opacity *= m_windowData[w].opacity;
|
||||
data.brightness *= interpolate(0.7, 1.0, m_windowData[w].highlight);
|
||||
data.opacity *= winData->opacity;
|
||||
data.brightness *= interpolate(0.7, 1.0, winData->highlight);
|
||||
|
||||
if (m_motionManager.isManaging(w)) {
|
||||
m_motionManager.apply(w, data);
|
||||
|
@ -333,7 +339,7 @@ void PresentWindowsEffect::paintWindow(EffectWindow *w, int mask, QRegion region
|
|||
if (m_showIcons) {
|
||||
QPoint point(rect.x() + rect.width() * 0.95,
|
||||
rect.y() + rect.height() * 0.95);
|
||||
m_windowData[w].iconFrame->setPosition(point);
|
||||
winData->iconFrame->setPosition(point);
|
||||
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
|
||||
if (effects->compositingType() == KWin::OpenGLCompositing && data.shader) {
|
||||
const float a = 0.9 * data.opacity * m_decalOpacity * 0.75;
|
||||
|
@ -342,12 +348,12 @@ void PresentWindowsEffect::paintWindow(EffectWindow *w, int mask, QRegion region
|
|||
data.shader->setUniform(GLShader::ModulationConstant, QVector4D(a, a, a, a));
|
||||
}
|
||||
#endif
|
||||
m_windowData[w].iconFrame->render(region, 0.9 * data.opacity * m_decalOpacity, 0.75);
|
||||
winData->iconFrame->render(region, 0.9 * data.opacity * m_decalOpacity, 0.75);
|
||||
}
|
||||
if (m_showCaptions) {
|
||||
QPoint point(rect.x() + rect.width() / 2,
|
||||
rect.y() + rect.height() / 2);
|
||||
m_windowData[w].textFrame->setPosition(point);
|
||||
winData->textFrame->setPosition(point);
|
||||
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
|
||||
if (effects->compositingType() == KWin::OpenGLCompositing && data.shader) {
|
||||
const float a = 0.9 * data.opacity * m_decalOpacity * 0.75;
|
||||
|
@ -356,7 +362,7 @@ void PresentWindowsEffect::paintWindow(EffectWindow *w, int mask, QRegion region
|
|||
data.shader->setUniform(GLShader::ModulationConstant, QVector4D(a, a, a, a));
|
||||
}
|
||||
#endif
|
||||
m_windowData[w].textFrame->render(region, 0.9 * data.opacity * m_decalOpacity, 0.75);
|
||||
winData->textFrame->render(region, 0.9 * data.opacity * m_decalOpacity, 0.75);
|
||||
}
|
||||
} else
|
||||
effects->paintWindow(w, mask, region, data);
|
||||
|
@ -371,24 +377,25 @@ void PresentWindowsEffect::slotWindowAdded(EffectWindow *w)
|
|||
{
|
||||
if (!m_activated)
|
||||
return;
|
||||
m_windowData[w].visible = isVisibleWindow(w);
|
||||
m_windowData[w].opacity = 0.0;
|
||||
m_windowData[w].highlight = 0.0;
|
||||
m_windowData[w].textFrame = effects->effectFrame(EffectFrameUnstyled, false);
|
||||
WindowData *winData = &m_windowData[w];
|
||||
winData->visible = isVisibleWindow(w);
|
||||
winData->opacity = 0.0;
|
||||
winData->highlight = 0.0;
|
||||
winData->textFrame = effects->effectFrame(EffectFrameUnstyled, false);
|
||||
QFont font;
|
||||
font.setBold(true);
|
||||
font.setPointSize(12);
|
||||
m_windowData[w].textFrame->setFont(font);
|
||||
m_windowData[w].iconFrame = effects->effectFrame(EffectFrameUnstyled, false);
|
||||
m_windowData[w].iconFrame->setAlignment(Qt::AlignRight | Qt::AlignBottom);
|
||||
m_windowData[w].iconFrame->setIcon(w->icon());
|
||||
winData->textFrame->setFont(font);
|
||||
winData->iconFrame = effects->effectFrame(EffectFrameUnstyled, false);
|
||||
winData->iconFrame->setAlignment(Qt::AlignRight | Qt::AlignBottom);
|
||||
winData->iconFrame->setIcon(w->icon());
|
||||
if (isSelectableWindow(w)) {
|
||||
m_motionManager.manage(w);
|
||||
rearrangeWindows();
|
||||
}
|
||||
if (w == effects->findWindow(m_closeView->winId())) {
|
||||
m_windowData[w].visible = true;
|
||||
m_windowData[w].highlight = 1.0;
|
||||
winData->visible = true;
|
||||
winData->highlight = 1.0;
|
||||
m_closeWindow = w;
|
||||
w->setData(WindowForceBlurRole, QVariant(true));
|
||||
}
|
||||
|
@ -398,10 +405,11 @@ void PresentWindowsEffect::slotWindowClosed(EffectWindow *w)
|
|||
{
|
||||
if (m_managerWindow == w)
|
||||
m_managerWindow = NULL;
|
||||
if (!m_windowData.contains(w))
|
||||
DataHash::iterator winData = m_windowData.find(w);
|
||||
if (winData == m_windowData.end())
|
||||
return;
|
||||
m_windowData[w].deleted = true;
|
||||
m_windowData[w].referenced = true;
|
||||
winData->deleted = true;
|
||||
winData->referenced = true;
|
||||
w->refWindow();
|
||||
if (m_highlightedWindow == w)
|
||||
setHighlightedWindow(findFirstWindow());
|
||||
|
@ -411,8 +419,8 @@ void PresentWindowsEffect::slotWindowClosed(EffectWindow *w)
|
|||
}
|
||||
rearrangeWindows();
|
||||
|
||||
foreach (EffectWindow * w, m_motionManager.managedWindows()) {
|
||||
DataHash::iterator winData = m_windowData.find( w );
|
||||
foreach (EffectWindow *w, m_motionManager.managedWindows()) {
|
||||
winData = m_windowData.find(w);
|
||||
if (winData != m_windowData.end() && !winData->deleted)
|
||||
return; // found one that is not deleted? then we go on
|
||||
}
|
||||
|
@ -421,11 +429,12 @@ void PresentWindowsEffect::slotWindowClosed(EffectWindow *w)
|
|||
|
||||
void PresentWindowsEffect::slotWindowDeleted(EffectWindow *w)
|
||||
{
|
||||
if (!m_windowData.contains(w))
|
||||
DataHash::iterator winData = m_windowData.find(w);
|
||||
if (winData == m_windowData.end())
|
||||
return;
|
||||
delete m_windowData[w].textFrame;
|
||||
delete m_windowData[w].iconFrame;
|
||||
m_windowData.remove(w);
|
||||
delete winData->textFrame;
|
||||
delete winData->iconFrame;
|
||||
m_windowData.erase(winData);
|
||||
m_motionManager.unmanage(w);
|
||||
}
|
||||
|
||||
|
@ -474,10 +483,12 @@ void PresentWindowsEffect::windowInputMouseEvent(Window w, QEvent *e)
|
|||
// We cannot use m_motionManager.windowAtPoint() as the window might not be visible
|
||||
EffectWindowList windows = m_motionManager.managedWindows();
|
||||
bool hovering = false;
|
||||
for (int i = 0; i < windows.size(); i++) {
|
||||
assert(m_windowData.contains(windows.at(i)));
|
||||
for (int i = 0; i < windows.size(); ++i) {
|
||||
DataHash::const_iterator winData = m_windowData.constFind(windows.at(i));
|
||||
if (winData == m_windowData.constEnd())
|
||||
continue;
|
||||
if (m_motionManager.transformedGeometry(windows.at(i)).contains(cursorPos()) &&
|
||||
m_windowData[windows.at(i)].visible && !m_windowData[windows.at(i)].deleted) {
|
||||
winData->visible && !winData->deleted) {
|
||||
hovering = true;
|
||||
if (windows.at(i) && m_highlightedWindow != windows.at(i))
|
||||
setHighlightedWindow(windows.at(i));
|
||||
|
@ -844,26 +855,26 @@ void PresentWindowsEffect::rearrangeWindows()
|
|||
else
|
||||
windowlist = m_motionManager.managedWindows();
|
||||
foreach (EffectWindow * w, m_motionManager.managedWindows()) {
|
||||
if (m_windowData[w].deleted)
|
||||
DataHash::iterator winData = m_windowData.find(w);
|
||||
if (winData == m_windowData.end() || winData->deleted)
|
||||
continue; // don't include closed windows
|
||||
windowlists[w->screen()].append(w);
|
||||
assert(m_windowData.contains(w));
|
||||
m_windowData[w].visible = true;
|
||||
winData->visible = true;
|
||||
}
|
||||
} else {
|
||||
// Can we move this filtering somewhere else?
|
||||
foreach (EffectWindow * w, m_motionManager.managedWindows()) {
|
||||
assert(m_windowData.contains(w));
|
||||
if (m_windowData[w].deleted)
|
||||
DataHash::iterator winData = m_windowData.find(w);
|
||||
if (winData == m_windowData.end() || winData->deleted)
|
||||
continue; // don't include closed windows
|
||||
if (w->caption().contains(m_windowFilter, Qt::CaseInsensitive) ||
|
||||
w->windowClass().contains(m_windowFilter, Qt::CaseInsensitive) ||
|
||||
w->windowRole().contains(m_windowFilter, Qt::CaseInsensitive)) {
|
||||
windowlist.append(w);
|
||||
windowlists[w->screen()].append(w);
|
||||
m_windowData[w].visible = true;
|
||||
winData->visible = true;
|
||||
} else
|
||||
m_windowData[w].visible = false;
|
||||
winData->visible = false;
|
||||
}
|
||||
}
|
||||
if (windowlist.isEmpty()) {
|
||||
|
@ -873,8 +884,8 @@ void PresentWindowsEffect::rearrangeWindows()
|
|||
|
||||
// We filtered out the highlighted window
|
||||
if (m_highlightedWindow) {
|
||||
assert(m_windowData.contains(m_highlightedWindow));
|
||||
if (m_windowData[m_highlightedWindow].visible == false)
|
||||
DataHash::iterator winData = m_windowData.find(m_highlightedWindow);
|
||||
if (winData != m_windowData.end() && !winData->visible)
|
||||
setHighlightedWindow(findFirstWindow());
|
||||
} else if (m_tabBoxEnabled)
|
||||
setHighlightedWindow(effects->currentTabBoxWindow());
|
||||
|
@ -911,12 +922,15 @@ void PresentWindowsEffect::rearrangeWindows()
|
|||
// Resize text frames if required
|
||||
QFontMetrics* metrics = NULL; // All fonts are the same
|
||||
foreach (EffectWindow * w, m_motionManager.managedWindows()) {
|
||||
DataHash::iterator winData = m_windowData.find(w);
|
||||
if (winData == m_windowData.end())
|
||||
continue;
|
||||
if (!metrics)
|
||||
metrics = new QFontMetrics(m_windowData[w].textFrame->font());
|
||||
metrics = new QFontMetrics(winData->textFrame->font());
|
||||
QRect geom = m_motionManager.targetGeometry(w).toRect();
|
||||
QString string = metrics->elidedText(w->caption(), Qt::ElideRight, geom.width() * 0.9);
|
||||
if (string != m_windowData[w].textFrame->text())
|
||||
m_windowData[w].textFrame->setText(string);
|
||||
if (string != winData->textFrame->text())
|
||||
winData->textFrame->setText(string);
|
||||
}
|
||||
delete metrics;
|
||||
}
|
||||
|
@ -936,6 +950,13 @@ void PresentWindowsEffect::calculateWindowTransformations(EffectWindowList windo
|
|||
m_windowData.clear();
|
||||
}
|
||||
|
||||
static inline int distance(QPoint &pos1, QPoint &pos2)
|
||||
{
|
||||
const int xdiff = pos1.x() - pos2.x();
|
||||
const int ydiff = pos1.y() - pos2.y();
|
||||
return int(sqrt(float(xdiff*xdiff + ydiff*ydiff)));
|
||||
}
|
||||
|
||||
void PresentWindowsEffect::calculateWindowTransformationsClosest(EffectWindowList windowlist, int screen,
|
||||
WindowMotionManager& motionManager)
|
||||
{
|
||||
|
@ -957,43 +978,68 @@ void PresentWindowsEffect::calculateWindowTransformationsClosest(EffectWindowLis
|
|||
}
|
||||
|
||||
// Assign slots
|
||||
foreach (EffectWindow * w, windowlist)
|
||||
m_windowData[w].slot = -1;
|
||||
int slotWidth = area.width() / columns;
|
||||
int slotHeight = area.height() / rows;
|
||||
QVector<EffectWindow*> takenSlots;
|
||||
takenSlots.resize(rows*columns);
|
||||
takenSlots.fill(0);
|
||||
|
||||
if (m_tabBoxEnabled) {
|
||||
// Rearrange in the correct order. As rearrangeWindows() is only ever
|
||||
// called once so we can use effects->currentTabBoxWindow() here.
|
||||
int selectedWindow = qMax(0, windowlist.indexOf(effects->currentTabBoxWindow()));
|
||||
int slot = 0;
|
||||
for (int i = selectedWindow; i < windowlist.count(); i++)
|
||||
m_windowData[windowlist[i]].slot = slot++;
|
||||
for (int i = selectedWindow - 1; i >= 0; i--)
|
||||
m_windowData[windowlist[i]].slot = slot++;
|
||||
int j = 0;
|
||||
for (int i = selectedWindow; i < windowlist.count(); ++i)
|
||||
takenSlots[j++] = windowlist[i];
|
||||
for (int i = selectedWindow - 1; i >= 0; --i)
|
||||
takenSlots[j++] = windowlist[i];
|
||||
} else {
|
||||
for (;;) {
|
||||
// Assign each window to the closest available slot
|
||||
assignSlots(windowlist, area, columns, rows);
|
||||
// Leave only the closest window in each slot, remove further conflicts
|
||||
getBestAssignments(windowlist);
|
||||
bool allAssigned = true;
|
||||
foreach (EffectWindow * w, windowlist)
|
||||
if (m_windowData[w].slot == -1) {
|
||||
allAssigned = false;
|
||||
break;
|
||||
|
||||
// precalculate all slot centers
|
||||
QVector<QPoint> slotCenters;
|
||||
slotCenters.resize(rows*columns);
|
||||
for (int x = 0; x < columns; ++x)
|
||||
for (int y = 0; y < rows; ++y) {
|
||||
slotCenters[x + y*columns] = QPoint(area.x() + slotWidth * x + slotWidth / 2,
|
||||
area.y() + slotHeight * y + slotHeight / 2);
|
||||
}
|
||||
if (allAssigned)
|
||||
break;
|
||||
|
||||
// Assign each window to the closest available slot
|
||||
EffectWindowList tmpList = windowlist; // use a QLinkedList copy instead?
|
||||
QPoint otherPos;
|
||||
while (!tmpList.isEmpty()) {
|
||||
EffectWindow *w = tmpList.first();
|
||||
int slotCandidate = -1, slotCandidateDistance = INT_MAX;
|
||||
QPoint pos = w->geometry().center();
|
||||
for (int i = 0; i < columns*rows; ++i) { // all slots
|
||||
const int dist = distance(pos, slotCenters[i]);
|
||||
if (dist < slotCandidateDistance) { // window is interested in this slot
|
||||
EffectWindow *occupier = takenSlots[i];
|
||||
assert(occupier != w);
|
||||
if (!occupier || dist < distance((otherPos = occupier->geometry().center()), slotCenters[i])) {
|
||||
// either nobody lives here, or we're better - takeover the slot if it's our best
|
||||
slotCandidate = i;
|
||||
slotCandidateDistance = dist;
|
||||
}
|
||||
}
|
||||
}
|
||||
assert(slotCandidate != -1);
|
||||
if (takenSlots[slotCandidate])
|
||||
tmpList << takenSlots[slotCandidate]; // occupier needs a new home now :p
|
||||
tmpList.removeAll(w);
|
||||
takenSlots[slotCandidate] = w; // ...and we rumble in =)
|
||||
}
|
||||
}
|
||||
|
||||
int slotWidth = area.width() / columns;
|
||||
int slotHeight = area.height() / rows;
|
||||
foreach (EffectWindow * w, windowlist) {
|
||||
assert(m_windowData[w].slot != -1);
|
||||
for (int slot = 0; slot < columns*rows; ++slot) {
|
||||
EffectWindow *w = takenSlots[slot];
|
||||
if (!w) // some slots might be empty
|
||||
continue;
|
||||
|
||||
// Work out where the slot is
|
||||
QRect target(
|
||||
area.x() + (m_windowData[w].slot % columns) * slotWidth,
|
||||
area.y() + (m_windowData[w].slot / columns) * slotHeight,
|
||||
area.x() + (slot % columns) * slotWidth,
|
||||
area.y() + (slot / columns) * slotHeight,
|
||||
slotWidth, slotHeight);
|
||||
target.adjust(10, 10, -10, -10); // Borders
|
||||
double scale;
|
||||
|
@ -1142,7 +1188,10 @@ void PresentWindowsEffect::calculateWindowTransformationsKompose(EffectWindowLis
|
|||
EffectWindow* window = windowlist[pos];
|
||||
QRect target = geometryRects[pos];
|
||||
target.setY(target.y() + topOffset);
|
||||
m_windowData[window].slot = pos;
|
||||
// @Marrtin: any idea what this is good for?
|
||||
// DataHash::iterator winData = m_windowData.find(window);
|
||||
// if (winData != m_windowData.end())
|
||||
// winData->slot = pos;
|
||||
motionManager.moveWindow(window, target);
|
||||
|
||||
//kDebug(1212) << "Window '" << window->caption() << "' gets moved to (" <<
|
||||
|
@ -1161,8 +1210,8 @@ void PresentWindowsEffect::calculateWindowTransformationsNatural(EffectWindowLis
|
|||
// just have a single window on a Xinerama screen or have two windows that do not touch.
|
||||
// TODO: Work out why this happens, is most likely a bug in the manager.
|
||||
foreach (EffectWindow * w, windowlist)
|
||||
if (motionManager.transformedGeometry(w) == w->geometry())
|
||||
motionManager.reset(w);
|
||||
if (motionManager.transformedGeometry(w) == w->geometry())
|
||||
motionManager.reset(w);
|
||||
|
||||
if (windowlist.count() == 1) {
|
||||
// Just move the window to its original location to save time
|
||||
|
@ -1200,26 +1249,29 @@ void PresentWindowsEffect::calculateWindowTransformationsNatural(EffectWindowLis
|
|||
do {
|
||||
overlap = false;
|
||||
foreach (EffectWindow * w, windowlist) {
|
||||
QRect *target_w = &targets[w];
|
||||
foreach (EffectWindow * e, windowlist) {
|
||||
if (w != e && targets[w].adjusted(-5, -5, 5, 5).intersects(
|
||||
targets[e].adjusted(-5, -5, 5, 5))) {
|
||||
if (w == e)
|
||||
continue;
|
||||
QRect *target_e = &targets[e];
|
||||
if (target_w->adjusted(-5, -5, 5, 5).intersects(target_e->adjusted(-5, -5, 5, 5))) {
|
||||
overlap = true;
|
||||
|
||||
// Determine pushing direction
|
||||
QPoint diff(targets[e].center() - targets[w].center());
|
||||
QPoint diff(target_e->center() - target_w->center());
|
||||
// Prevent dividing by zero and non-movement
|
||||
if (diff.x() == 0 && diff.y() == 0)
|
||||
diff.setX(1);
|
||||
// Try to keep screen aspect ratio
|
||||
//if ( bounds.height() / bounds.width() > area.height() / area.width() )
|
||||
// diff.setY( diff.y() / 2 );
|
||||
//if (bounds.height() / bounds.width() > area.height() / area.width())
|
||||
// diff.setY(diff.y() / 2);
|
||||
//else
|
||||
// diff.setX( diff.x() / 2 );
|
||||
// diff.setX(diff.x() / 2);
|
||||
// Approximate a vector of between 10px and 20px in magnitude in the same direction
|
||||
diff *= m_accuracy / double(diff.manhattanLength());
|
||||
// Move both windows apart
|
||||
targets[w].translate(-diff);
|
||||
targets[e].translate(diff);
|
||||
target_w->translate(-diff);
|
||||
target_e->translate(diff);
|
||||
|
||||
// Try to keep the bounding rect the same aspect as the screen so that more
|
||||
// screen real estate is utilised. We do this by splitting the screen into nine
|
||||
|
@ -1231,8 +1283,8 @@ void PresentWindowsEffect::calculateWindowTransformationsNatural(EffectWindowLis
|
|||
// in some situations. We need to do this even when expanding later just in case
|
||||
// all windows are the same size.
|
||||
// (We are using an old bounding rect for this, hopefully it doesn't matter)
|
||||
int xSection = (targets[w].x() - bounds.x()) / (bounds.width() / 3);
|
||||
int ySection = (targets[w].y() - bounds.y()) / (bounds.height() / 3);
|
||||
int xSection = (target_w->x() - bounds.x()) / (bounds.width() / 3);
|
||||
int ySection = (target_w->y() - bounds.y()) / (bounds.height() / 3);
|
||||
diff = QPoint(0, 0);
|
||||
if (xSection != 1 || ySection != 1) { // Remove this if you want the center to pull as well
|
||||
if (xSection == 1)
|
||||
|
@ -1241,21 +1293,21 @@ void PresentWindowsEffect::calculateWindowTransformationsNatural(EffectWindowLis
|
|||
ySection = (directions[w] % 2 ? 2 : 0);
|
||||
}
|
||||
if (xSection == 0 && ySection == 0)
|
||||
diff = QPoint(bounds.topLeft() - targets[w].center());
|
||||
diff = QPoint(bounds.topLeft() - target_w->center());
|
||||
if (xSection == 2 && ySection == 0)
|
||||
diff = QPoint(bounds.topRight() - targets[w].center());
|
||||
diff = QPoint(bounds.topRight() - target_w->center());
|
||||
if (xSection == 2 && ySection == 2)
|
||||
diff = QPoint(bounds.bottomRight() - targets[w].center());
|
||||
diff = QPoint(bounds.bottomRight() - target_w->center());
|
||||
if (xSection == 0 && ySection == 2)
|
||||
diff = QPoint(bounds.bottomLeft() - targets[w].center());
|
||||
diff = QPoint(bounds.bottomLeft() - target_w->center());
|
||||
if (diff.x() != 0 || diff.y() != 0) {
|
||||
diff *= m_accuracy / double(diff.manhattanLength());
|
||||
targets[w].translate(diff);
|
||||
target_w->translate(diff);
|
||||
}
|
||||
|
||||
// Update bounding rect
|
||||
bounds = bounds.united(targets[w]);
|
||||
bounds = bounds.united(targets[e]);
|
||||
bounds = bounds.united(*target_w);
|
||||
bounds = bounds.united(*target_e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1279,13 +1331,15 @@ void PresentWindowsEffect::calculateWindowTransformationsNatural(EffectWindowLis
|
|||
);
|
||||
|
||||
// Move all windows back onto the screen and set their scale
|
||||
foreach (EffectWindow * w, windowlist)
|
||||
targets[w] = QRect(
|
||||
(targets[w].x() - bounds.x()) * scale + area.x(),
|
||||
(targets[w].y() - bounds.y()) * scale + area.y(),
|
||||
targets[w].width() * scale,
|
||||
targets[w].height() * scale
|
||||
);
|
||||
QHash<EffectWindow*, QRect>::iterator target = targets.begin();
|
||||
while (target != targets.end()) {
|
||||
target->setRect((target->x() - bounds.x()) * scale + area.x(),
|
||||
(target->y() - bounds.y()) * scale + area.y(),
|
||||
target->width() * scale,
|
||||
target->height() * scale
|
||||
);
|
||||
++target;
|
||||
}
|
||||
|
||||
// Try to fill the gaps by enlarging windows if they have the space
|
||||
if (m_fillGaps) {
|
||||
|
@ -1298,61 +1352,61 @@ void PresentWindowsEffect::calculateWindowTransformationsNatural(EffectWindowLis
|
|||
moved = false;
|
||||
foreach (EffectWindow * w, windowlist) {
|
||||
QRect oldRect;
|
||||
QRect *target = &targets[w];
|
||||
// This may cause some slight distortion if the windows are enlarged a large amount
|
||||
int widthDiff = m_accuracy;
|
||||
int heightDiff = heightForWidth(w, targets[w].width() + widthDiff) - targets[w].height();
|
||||
int heightDiff = heightForWidth(w, target->width() + widthDiff) - target->height();
|
||||
int xDiff = widthDiff / 2; // Also move a bit in the direction of the enlarge, allows the
|
||||
int yDiff = heightDiff / 2; // center windows to be enlarged if there is gaps on the side.
|
||||
|
||||
// Attempt enlarging to the top-right
|
||||
oldRect = targets[w];
|
||||
targets[w] = QRect(
|
||||
targets[w].x() + xDiff,
|
||||
targets[w].y() - yDiff - heightDiff,
|
||||
targets[w].width() + widthDiff,
|
||||
targets[w].height() + heightDiff
|
||||
);
|
||||
oldRect = *target;
|
||||
target->setRect(target->x() + xDiff,
|
||||
target->y() - yDiff - heightDiff,
|
||||
target->width() + widthDiff,
|
||||
target->height() + heightDiff
|
||||
);
|
||||
if (isOverlappingAny(w, targets, borderRegion))
|
||||
targets[w] = oldRect;
|
||||
*target = oldRect;
|
||||
else
|
||||
moved = true;
|
||||
|
||||
// Attempt enlarging to the bottom-right
|
||||
oldRect = targets[w];
|
||||
targets[w] = QRect(
|
||||
targets[w].x() + xDiff,
|
||||
targets[w].y() + yDiff,
|
||||
targets[w].width() + widthDiff,
|
||||
targets[w].height() + heightDiff
|
||||
oldRect = *target;
|
||||
target->setRect(
|
||||
target->x() + xDiff,
|
||||
target->y() + yDiff,
|
||||
target->width() + widthDiff,
|
||||
target->height() + heightDiff
|
||||
);
|
||||
if (isOverlappingAny(w, targets, borderRegion))
|
||||
targets[w] = oldRect;
|
||||
*target = oldRect;
|
||||
else
|
||||
moved = true;
|
||||
|
||||
// Attempt enlarging to the bottom-left
|
||||
oldRect = targets[w];
|
||||
targets[w] = QRect(
|
||||
targets[w].x() - xDiff - widthDiff,
|
||||
targets[w].y() + yDiff,
|
||||
targets[w].width() + widthDiff,
|
||||
targets[w].height() + heightDiff
|
||||
oldRect = *target;
|
||||
target->setRect(
|
||||
target->x() - xDiff - widthDiff,
|
||||
target->y() + yDiff,
|
||||
target->width() + widthDiff,
|
||||
target->height() + heightDiff
|
||||
);
|
||||
if (isOverlappingAny(w, targets, borderRegion))
|
||||
targets[w] = oldRect;
|
||||
*target = oldRect;
|
||||
else
|
||||
moved = true;
|
||||
|
||||
// Attempt enlarging to the top-left
|
||||
oldRect = targets[w];
|
||||
targets[w] = QRect(
|
||||
targets[w].x() - xDiff - widthDiff,
|
||||
targets[w].y() - yDiff - heightDiff,
|
||||
targets[w].width() + widthDiff,
|
||||
targets[w].height() + heightDiff
|
||||
oldRect = *target;
|
||||
target->setRect(
|
||||
target->x() - xDiff - widthDiff,
|
||||
target->y() - yDiff - heightDiff,
|
||||
target->width() + widthDiff,
|
||||
target->height() + heightDiff
|
||||
);
|
||||
if (isOverlappingAny(w, targets, borderRegion))
|
||||
targets[w] = oldRect;
|
||||
*target = oldRect;
|
||||
else
|
||||
moved = true;
|
||||
}
|
||||
|
@ -1362,12 +1416,13 @@ void PresentWindowsEffect::calculateWindowTransformationsNatural(EffectWindowLis
|
|||
// We can't add this to the loop above as it would cause a never-ending loop so we have to make
|
||||
// do with the less-than-optimal space usage with using this method.
|
||||
foreach (EffectWindow * w, windowlist) {
|
||||
double scale = targets[w].width() / double(w->width());
|
||||
QRect *target = &targets[w];
|
||||
double scale = target->width() / double(w->width());
|
||||
if (scale > 2.0 || (scale > 1.0 && (w->width() > 300 || w->height() > 300))) {
|
||||
scale = (w->width() > 300 || w->height() > 300) ? 1.0 : 2.0;
|
||||
targets[w] = QRect(
|
||||
targets[w].center().x() - int(w->width() * scale) / 2,
|
||||
targets[w].center().y() - int(w->height() * scale) / 2,
|
||||
target->setRect(
|
||||
target->center().x() - int(w->width() * scale) / 2,
|
||||
target->center().y() - int(w->height() * scale) / 2,
|
||||
w->width() * scale,
|
||||
w->height() * scale);
|
||||
}
|
||||
|
@ -1376,76 +1431,23 @@ void PresentWindowsEffect::calculateWindowTransformationsNatural(EffectWindowLis
|
|||
|
||||
// Notify the motion manager of the targets
|
||||
foreach (EffectWindow * w, windowlist)
|
||||
motionManager.moveWindow(w, targets[w]);
|
||||
motionManager.moveWindow(w, targets.value(w));
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Helper functions for window rearranging
|
||||
|
||||
void PresentWindowsEffect::assignSlots(EffectWindowList windowlist, const QRect &area, int columns, int rows)
|
||||
{
|
||||
QVector< bool > taken;
|
||||
taken.fill(false, columns * rows);
|
||||
foreach (EffectWindow * w, windowlist)
|
||||
if (m_windowData[w].slot != -1)
|
||||
taken[ m_windowData[w].slot ] = true;
|
||||
int slotWidth = area.width() / columns;
|
||||
int slotHeight = area.height() / rows;
|
||||
foreach (EffectWindow * w, windowlist) {
|
||||
WindowData *wData = &m_windowData[w];
|
||||
if (wData->slot != -1)
|
||||
continue; // it already has a slot
|
||||
QPoint pos = w->geometry().center();
|
||||
if (pos.x() < area.left())
|
||||
pos.setX(area.left());
|
||||
if (pos.x() > area.right())
|
||||
pos.setX(area.right());
|
||||
if (pos.y() < area.top())
|
||||
pos.setY(area.top());
|
||||
if (pos.y() > area.bottom())
|
||||
pos.setY(area.bottom());
|
||||
int distance = INT_MAX;
|
||||
for (int x = 0; x < columns; x++)
|
||||
for (int y = 0; y < rows; y++) {
|
||||
int slot = x + y * columns;
|
||||
if (taken[slot])
|
||||
continue;
|
||||
int xdiff = pos.x() - (area.x() + slotWidth * x + slotWidth / 2);
|
||||
int ydiff = pos.y() - (area.y() + slotHeight * y + slotHeight / 2);
|
||||
int dist = int(sqrt(double(xdiff * xdiff + ydiff * ydiff)));
|
||||
if (dist < distance) {
|
||||
distance = dist;
|
||||
wData->slot = slot;
|
||||
wData->slot_distance = distance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void PresentWindowsEffect::getBestAssignments(EffectWindowList windowlist)
|
||||
{
|
||||
foreach (EffectWindow * w1, windowlist) {
|
||||
WindowData *windowData1 = &m_windowData[w1];
|
||||
foreach (EffectWindow * w2, windowlist) {
|
||||
WindowData *windowData2 = &m_windowData[w2];
|
||||
if (w1 != w2 && windowData1->slot == windowData2->slot &&
|
||||
windowData1->slot_distance >= windowData2->slot_distance)
|
||||
windowData1->slot = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool PresentWindowsEffect::isOverlappingAny(EffectWindow *w, const QHash<EffectWindow*, QRect> &targets, const QRegion &border)
|
||||
{
|
||||
if (border.intersects(targets[w]))
|
||||
QHash<EffectWindow*, QRect>::const_iterator winTarget = targets.find(w);
|
||||
if (winTarget == targets.constEnd())
|
||||
return false;
|
||||
if (border.intersects(*winTarget))
|
||||
return true;
|
||||
// Is there a better way to do this?
|
||||
QHash<EffectWindow*, QRect>::const_iterator i;
|
||||
for (i = targets.constBegin(); i != targets.constEnd(); ++i) {
|
||||
if (w == i.key())
|
||||
QHash<EffectWindow*, QRect>::const_iterator target;
|
||||
for (target = targets.constBegin(); target != targets.constEnd(); ++target) {
|
||||
if (target == winTarget)
|
||||
continue;
|
||||
if (targets[w].adjusted(-5, -5, 5, 5).intersects(
|
||||
i.value().adjusted(-5, -5, 5, 5)))
|
||||
if (winTarget->adjusted(-5, -5, 5, 5).intersects(target->adjusted(-5, -5, 5, 5)))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -1475,37 +1477,44 @@ void PresentWindowsEffect::setActive(bool active, bool closingTab)
|
|||
|
||||
// Add every single window to m_windowData (Just calling [w] creates it)
|
||||
foreach (EffectWindow * w, effects->stackingOrder()) {
|
||||
if (m_windowData.contains(w)) // Happens if we reactivate before the ending animation finishes
|
||||
continue;
|
||||
m_windowData[w].visible = isVisibleWindow(w);
|
||||
m_windowData[w].deleted = false;
|
||||
m_windowData[w].referenced = false;
|
||||
m_windowData[w].opacity = 0.0;
|
||||
DataHash::iterator winData;
|
||||
if ((winData = m_windowData.find(w)) != m_windowData.end()) {
|
||||
winData->visible = isVisibleWindow(w);
|
||||
continue; // Happens if we reactivate before the ending animation finishes
|
||||
}
|
||||
winData = m_windowData.insert(w, WindowData());
|
||||
winData->visible = isVisibleWindow(w);
|
||||
winData->deleted = false;
|
||||
winData->referenced = false;
|
||||
winData->opacity = 0.0;
|
||||
if (w->isOnCurrentDesktop() && !w->isMinimized())
|
||||
m_windowData[w].opacity = 1.0;
|
||||
m_windowData[w].highlight = 1.0;
|
||||
m_windowData[w].textFrame = effects->effectFrame(EffectFrameUnstyled, false);
|
||||
winData->opacity = 1.0;
|
||||
winData->highlight = 1.0;
|
||||
winData->textFrame = effects->effectFrame(EffectFrameUnstyled, false);
|
||||
QFont font;
|
||||
font.setBold(true);
|
||||
font.setPointSize(12);
|
||||
m_windowData[w].textFrame->setFont(font);
|
||||
m_windowData[w].iconFrame = effects->effectFrame(EffectFrameUnstyled, false);
|
||||
m_windowData[w].iconFrame->setAlignment(Qt::AlignRight | Qt::AlignBottom);
|
||||
m_windowData[w].iconFrame->setIcon(w->icon());
|
||||
winData->textFrame->setFont(font);
|
||||
winData->iconFrame = effects->effectFrame(EffectFrameUnstyled, false);
|
||||
winData->iconFrame->setAlignment(Qt::AlignRight | Qt::AlignBottom);
|
||||
winData->iconFrame->setIcon(w->icon());
|
||||
}
|
||||
|
||||
if (m_tabBoxEnabled) {
|
||||
DataHash::iterator winData;
|
||||
foreach (EffectWindow * w, effects->currentTabBoxWindowList()) {
|
||||
if (!w)
|
||||
continue;
|
||||
m_motionManager.manage(w);
|
||||
assert(m_windowData.contains(w));
|
||||
m_windowData[w].visible = effects->currentTabBoxWindowList().contains(w);
|
||||
if ((winData = m_windowData.find(w)) != m_windowData.end())
|
||||
winData->visible = effects->currentTabBoxWindowList().contains(w);
|
||||
}
|
||||
// Hide windows not in the list
|
||||
foreach (EffectWindow * w, effects->stackingOrder())
|
||||
m_windowData[w].visible = isVisibleWindow(w) &&
|
||||
(!isSelectableWindow(w) || effects->currentTabBoxWindowList().contains(w));
|
||||
foreach (EffectWindow * w, effects->stackingOrder()) {
|
||||
if ((winData = m_windowData.find(w)) != m_windowData.end())
|
||||
winData->visible = isVisibleWindow(w) &&
|
||||
(!isSelectableWindow(w) || effects->currentTabBoxWindowList().contains(w));
|
||||
}
|
||||
} else {
|
||||
// Filter out special windows such as panels and taskbars
|
||||
foreach (EffectWindow * w, effects->stackingOrder())
|
||||
|
@ -1522,7 +1531,7 @@ void PresentWindowsEffect::setActive(bool active, bool closingTab)
|
|||
while (i != m_windowData.end()) {
|
||||
delete i.value().textFrame;
|
||||
delete i.value().iconFrame;
|
||||
i++;
|
||||
++i;
|
||||
}
|
||||
m_windowData.clear();
|
||||
|
||||
|
@ -1536,7 +1545,7 @@ void PresentWindowsEffect::setActive(bool active, bool closingTab)
|
|||
effects->setActiveFullScreenEffect(this);
|
||||
|
||||
m_gridSizes.clear();
|
||||
for (int i = 0; i < effects->numScreens(); i++)
|
||||
for (int i = 0; i < effects->numScreens(); ++i)
|
||||
m_gridSizes.append(GridSize());
|
||||
|
||||
rearrangeWindows();
|
||||
|
@ -1559,9 +1568,10 @@ void PresentWindowsEffect::setActive(bool active, bool closingTab)
|
|||
if (activeWindow && !activeWindow->isOnAllDesktops())
|
||||
desktop = activeWindow->desktop();
|
||||
foreach (EffectWindow * w, effects->stackingOrder()) {
|
||||
assert(m_windowData.contains(w));
|
||||
m_windowData[w].visible = (w->isOnDesktop(desktop) || w->isOnAllDesktops()) &&
|
||||
!w->isMinimized() && (w->visibleInClientGroup() || m_windowData[w].visible);
|
||||
DataHash::iterator winData = m_windowData.find(w);
|
||||
if (winData != m_windowData.end())
|
||||
winData->visible = (w->isOnDesktop(desktop) || w->isOnAllDesktops()) &&
|
||||
!w->isMinimized() && (w->visibleInClientGroup() || winData->visible);
|
||||
}
|
||||
delete m_closeView;
|
||||
m_closeView = 0;
|
||||
|
@ -1701,7 +1711,8 @@ EffectWindow* PresentWindowsEffect::relativeWindow(EffectWindow *w, int xdiff, i
|
|||
detectRect = QRect(0, wArea.y(), area.width(), wArea.height());
|
||||
next = NULL;
|
||||
foreach (EffectWindow * e, m_motionManager.managedWindows()) {
|
||||
if (!m_windowData[e].visible)
|
||||
DataHash::const_iterator winData = m_windowData.find(e);
|
||||
if (winData == m_windowData.end() || !winData->visible)
|
||||
continue;
|
||||
QRectF eArea = m_motionManager.transformedGeometry(e);
|
||||
if (eArea.intersects(detectRect) &&
|
||||
|
@ -1730,7 +1741,8 @@ EffectWindow* PresentWindowsEffect::relativeWindow(EffectWindow *w, int xdiff, i
|
|||
detectRect = QRect(0, wArea.y(), area.width(), wArea.height());
|
||||
next = NULL;
|
||||
foreach (EffectWindow * e, m_motionManager.managedWindows()) {
|
||||
if (!m_windowData[e].visible)
|
||||
DataHash::const_iterator winData = m_windowData.find(e);
|
||||
if (winData == m_windowData.end() || !winData->visible)
|
||||
continue;
|
||||
QRectF eArea = m_motionManager.transformedGeometry(e);
|
||||
if (eArea.intersects(detectRect) &&
|
||||
|
@ -1764,7 +1776,8 @@ EffectWindow* PresentWindowsEffect::relativeWindow(EffectWindow *w, int xdiff, i
|
|||
detectRect = QRect(wArea.x(), 0, wArea.width(), area.height());
|
||||
next = NULL;
|
||||
foreach (EffectWindow * e, m_motionManager.managedWindows()) {
|
||||
if (!m_windowData[e].visible)
|
||||
DataHash::const_iterator winData = m_windowData.find(e);
|
||||
if (winData == m_windowData.end() || !winData->visible)
|
||||
continue;
|
||||
QRectF eArea = m_motionManager.transformedGeometry(e);
|
||||
if (eArea.intersects(detectRect) &&
|
||||
|
@ -1793,7 +1806,8 @@ EffectWindow* PresentWindowsEffect::relativeWindow(EffectWindow *w, int xdiff, i
|
|||
detectRect = QRect(wArea.x(), 0, wArea.width(), area.height());
|
||||
next = NULL;
|
||||
foreach (EffectWindow * e, m_motionManager.managedWindows()) {
|
||||
if (!m_windowData[e].visible)
|
||||
DataHash::const_iterator winData = m_windowData.find(e);
|
||||
if (winData == m_windowData.end() || !winData->visible)
|
||||
continue;
|
||||
QRectF eArea = m_motionManager.transformedGeometry(e);
|
||||
if (eArea.intersects(detectRect) &&
|
||||
|
@ -1826,10 +1840,13 @@ EffectWindow* PresentWindowsEffect::findFirstWindow() const
|
|||
EffectWindow *topLeft = NULL;
|
||||
QRectF topLeftGeometry;
|
||||
foreach (EffectWindow * w, m_motionManager.managedWindows()) {
|
||||
DataHash::const_iterator winData = m_windowData.find(w);
|
||||
if (winData == m_windowData.end())
|
||||
continue;
|
||||
QRectF geometry = m_motionManager.transformedGeometry(w);
|
||||
if (m_windowData[w].visible == false)
|
||||
if (winData->visible == false)
|
||||
continue; // Not visible
|
||||
if (m_windowData[w].deleted)
|
||||
if (winData->deleted)
|
||||
continue; // Window has been closed
|
||||
if (topLeft == NULL) {
|
||||
topLeft = w;
|
||||
|
|
|
@ -30,7 +30,7 @@ Name[hi]=मौजूद विंडो
|
|||
Name[hne]=मौजूद विंडो
|
||||
Name[hr]=Prikaz prozora
|
||||
Name[hu]=Ablakáttekintő
|
||||
Name[ia]=Fenestras Actual
|
||||
Name[ia]=Fenestras actual
|
||||
Name[id]=Jendela Yang Hadir
|
||||
Name[is]=Núverandi gluggar
|
||||
Name[it]=Presenta le finestre
|
||||
|
|
|
@ -74,8 +74,6 @@ private:
|
|||
bool referenced;
|
||||
double opacity;
|
||||
double highlight;
|
||||
int slot;
|
||||
int slot_distance;
|
||||
EffectFrame* textFrame;
|
||||
EffectFrame* iconFrame;
|
||||
};
|
||||
|
@ -185,8 +183,6 @@ protected:
|
|||
inline int heightForWidth(EffectWindow *w, int width) {
|
||||
return int((width / double(w->width())) * w->height());
|
||||
}
|
||||
void assignSlots(EffectWindowList windowlist, const QRect &area, int columns, int rows);
|
||||
void getBestAssignments(EffectWindowList windowlist);
|
||||
bool isOverlappingAny(EffectWindow *w, const QHash<EffectWindow*, QRect> &targets, const QRegion &border);
|
||||
|
||||
// Filter box
|
||||
|
|
|
@ -37,7 +37,7 @@ Name[hi]=मौजूद विंडो
|
|||
Name[hne]=मौजूद विंडो
|
||||
Name[hr]=Prikaz prozora
|
||||
Name[hu]=Ablakáttekintő
|
||||
Name[ia]=Fenestras Actual
|
||||
Name[ia]=Fenestras actual
|
||||
Name[id]=Jendela Yang Hadir
|
||||
Name[is]=Núverandi gluggar
|
||||
Name[it]=Presenta le finestre
|
||||
|
|
|
@ -25,7 +25,7 @@ Name[he]=שינוי גודל חלון
|
|||
Name[hi]=विंडो आकार बदलें
|
||||
Name[hr]=Promjena veličine prozora
|
||||
Name[hu]=Ablak átméretezése
|
||||
Name[ia]=Redimensiona Fenestra
|
||||
Name[ia]=Redimensiona fenestra
|
||||
Name[id]=Ubah Ukuran Jendela
|
||||
Name[is]=Breyta stærð glugga
|
||||
Name[it]=Ridimensiona la finestra
|
||||
|
@ -70,6 +70,7 @@ Comment[ca]=Redimensiona les finestres amb un escalat de textura ràpid enlloc d
|
|||
Comment[ca@valencia]=Redimensiona les finestres amb un escalat de textura ràpid enlloc d'actualitzar els continguts
|
||||
Comment[cs]=Změní velikost okna s využitím rychlého škálování textury místo aktualizace obsahu
|
||||
Comment[da]=Ændrer størrelse på vinduer med en hurtig teksturskalering i stedet for at opdatere indholdet
|
||||
Comment[de]=Schnelles Skalieren der Fenster-Texturen ohne Aktualisierung des Fensterinhalts
|
||||
Comment[el]=Αλλάζει το μέγεθος του παραθύρου χρησιμοποιώντας ταχείες υφές αντί να ανανεώνει τα περιεχόμενα
|
||||
Comment[en_GB]=Resizes windows with a fast texture scale instead of updating contents
|
||||
Comment[es]=Redimensiona las ventanas con un escalado rápido de texturas en lugar de actualizando los contenidos
|
||||
|
@ -97,6 +98,7 @@ Comment[sr@ijekavianlatin]=Promena veličine prozora brzim teksturnim skaliranje
|
|||
Comment[sr@latin]=Promena veličine prozora brzim teksturnim skaliranjem umesto ažuriranjem sadržaja
|
||||
Comment[sv]=Ändrar storlek på fönster med en snabb strukturskalning istället för att uppdatera innehållet.
|
||||
Comment[th]=ปรับขนาดหน้าต่างด้วยการปรับพื้นผิวอย่างรวดเร็ว แทนการปรับปรุงเนื้อหาภายในหน้าต่าง
|
||||
Comment[tr]=İçeriklerini güncellemek yerine pencereleri hızlı bir doku ölçeğiyle yeniden boyutlandırır.
|
||||
Comment[uk]=Зміна розмірів вікон швидким масштабуванням текстур замість оновлення вмісту вікон
|
||||
Comment[x-test]=xxResizes windows with a fast texture scale instead of updating contentsxx
|
||||
Comment[zh_TW]=用快速調整縮放而不是更新內容的方式重新調整視窗大小
|
||||
|
|
|
@ -32,7 +32,7 @@ Name[he]=שינוי גודל חלון
|
|||
Name[hi]=विंडो आकार बदलें
|
||||
Name[hr]=Promjena veličine prozora
|
||||
Name[hu]=Ablak átméretezése
|
||||
Name[ia]=Redimensiona Fenestra
|
||||
Name[ia]=Redimensiona fenestra
|
||||
Name[id]=Ubah Ukuran Jendela
|
||||
Name[is]=Breyta stærð glugga
|
||||
Name[it]=Ridimensiona la finestra
|
||||
|
|
|
@ -91,6 +91,7 @@ Comment[sr@ijekavianlatin]=Upisuje snimak aktivnog prozora u domaću fasciklu
|
|||
Comment[sr@latin]=Upisuje snimak aktivnog prozora u domaću fasciklu
|
||||
Comment[sv]=Sparar en skärmbild av det aktiva fönstret i hemkatalogen
|
||||
Comment[th]=บันทึกการจับภาพหน้าจอของหน้าต่างที่ทำงานอยู่ไปเก็บไว้ในไดเรกทอรีพื้นที่ส่วนตัว
|
||||
Comment[tr]=Etkin pencerenin ekran görüntüsünü ev dizinine kaydeder
|
||||
Comment[uk]=Зберігає знімок активного вікна до домашнього каталогу
|
||||
Comment[x-test]=xxSaves screenshot of active window into the home directoryxx
|
||||
Comment[zh_TW]=將目前作用中視窗的快照儲存到家目錄中
|
||||
|
|
|
@ -28,7 +28,7 @@ Name[hi]=पेंट दिखाएं
|
|||
Name[hne]=पेंट देखाव
|
||||
Name[hr]=Prikaz nedavnih promjena
|
||||
Name[hu]=Megmutatja a kirajzolt területeket
|
||||
Name[ia]=Monstra Pictura
|
||||
Name[ia]=Monstra pictura
|
||||
Name[id]=Tampilkan Lukisan
|
||||
Name[is]=Sýna teikningu
|
||||
Name[it]=Mostra il ridisegno
|
||||
|
|
|
@ -77,7 +77,7 @@ Comment[ga]=Beochan sleamhnaithe le haghaidh preabfhuinneog Plasma
|
|||
Comment[gl]=Animación deslizantes para os widgets de Plasma emerxentes
|
||||
Comment[he]=הנפשת החלקה עבור חלוניות קופצות של Plasma
|
||||
Comment[hr]=Animacija pomicanja za Plasma iskočnike
|
||||
Comment[ia]=Animation glissante pro popups de plasma
|
||||
Comment[ia]=Animation glissante pro popups de Plasma
|
||||
Comment[id]=Animasi menggeser untuk popup Plasma
|
||||
Comment[is]=Rennslishreyfing fyrir Plasma sprettglugga
|
||||
Comment[it]=Animazione in scivolata per le finestre a comparsa di Plasma
|
||||
|
|
|
@ -16,7 +16,7 @@ Name[he]=משוב להפעלה
|
|||
Name[hi]=शुरुआती फ़ीडबैक
|
||||
Name[hr]=Povratna informacija pri pokretanju
|
||||
Name[hu]=Alkalmazásindítási effektus
|
||||
Name[ia]=Retorno de Lanceamento
|
||||
Name[ia]=Retorno ab lanceamento
|
||||
Name[it]=Segnale di avvio
|
||||
Name[ja]=起動フィードバック
|
||||
Name[kk]=Жегу барысы
|
||||
|
@ -39,6 +39,7 @@ Name[sr@ijekavianlatin]=Odziv pri pokretanju
|
|||
Name[sr@latin]=Odziv pri pokretanju
|
||||
Name[sv]=Gensvar vid programstart
|
||||
Name[th]=ตอบสนองการเริ่มโปรแกรม
|
||||
Name[tr]=Açılış Geribildirimi
|
||||
Name[uk]=Повідомлення під час запуску
|
||||
Name[x-test]=xxStartup Feedbackxx
|
||||
Name[zh_CN]=启动反馈
|
||||
|
@ -58,7 +59,7 @@ Comment[fi]=Avustajatehoste käynnistyksen ilmaisemiseen
|
|||
Comment[fr]=Effet de l'assistant pour les commentaires de démarrage
|
||||
Comment[he]=אפקט המשמש כמשוב להפעלה
|
||||
Comment[hr]=Pomoćni efekt za povratnu informaciju pri pokretanju
|
||||
Comment[ia]=Effecto de adjutante pro retorno de lanceamento
|
||||
Comment[ia]=Effecto de adjutante pro retorno ab lanceamento
|
||||
Comment[it]=Effetto di assistenza per il segnale di avvio
|
||||
Comment[kk]=Жегу барысын көрсететін эффекті
|
||||
Comment[km]=កម្មវិធីជំនួយមានប្រសិទ្ធភាពនៅពេលលចាប់ផ្ដើមមតិត្រឡប់
|
||||
|
@ -79,6 +80,7 @@ Comment[sr@ijekavianlatin]=Pomoćni efekat za odziv pri pokretanju
|
|||
Comment[sr@latin]=Pomoćni efekat za odziv pri pokretanju
|
||||
Comment[sv]=Hjälpeffekt för gensvar vid programstart
|
||||
Comment[th]=ลูกเล่นที่จะแสดงเพื่อรอการเริ่มการทำงานของโปรแกรม
|
||||
Comment[tr]=Açılış geribildirimi için yardımcı etkisi
|
||||
Comment[uk]=Допоміжний ефект перегляду повідомлень, що надсилаються програмою під час запуску
|
||||
Comment[wa]=Efet aidant pol ritoû d' enondaedje
|
||||
Comment[x-test]=xxHelper effect for startup feedbackxx
|
||||
|
|
|
@ -29,7 +29,7 @@ Name[hi]=कार्यपट्टी लघु छवि
|
|||
Name[hne]=कामपट्टी चिनहा
|
||||
Name[hr]=Sličice programske trake
|
||||
Name[hu]=Gyorsnézetek a feladatsávon
|
||||
Name[ia]=Notas de barra de carga (taskbar)
|
||||
Name[ia]=Miniaturas de barra de cargas
|
||||
Name[id]=Miniatur Batang Alat
|
||||
Name[is]=Smámyndir á verkefnaslá
|
||||
Name[it]=Miniature sulla barra delle applicazioni
|
||||
|
@ -99,7 +99,7 @@ Comment[he]=הצגת תמונות ממוזערות של חלונות בעת מע
|
|||
Comment[hne]=टास्कबार प्रविस्टि मं जब मुसुवा होवर होही त विंडो चिनहा देखाव
|
||||
Comment[hr]=Prikazuje sličice prozora pri prelasku mišem preko stavaka programske trake
|
||||
Comment[hu]=Megmutatja a feladatsáv gombjai fölött az ablakok kicsinyített képét
|
||||
Comment[ia]=Monstra notas de fenestra quando il es suspendite super entratas de la barra de carga
|
||||
Comment[ia]=Monstra miniaturas de fenestra quando il es suspendite super entratas de la barra de carga
|
||||
Comment[id]=Tampilkan miniatur jendela ketika melayang di atas lema batang tugas
|
||||
Comment[is]=Sýnir smámyndir glugga þegar bendill er á færslu verkefnaslárinnar
|
||||
Comment[it]=Mostra delle miniature delle finestre al passaggio sulle voci della barra delle applicazioni
|
||||
|
|
|
@ -31,7 +31,7 @@ Name[hi]=माउस ट्रैक करें
|
|||
Name[hne]=मुसुवा ट्रैक करव
|
||||
Name[hr]=Praćenje miša
|
||||
Name[hu]=Egérkövetés
|
||||
Name[ia]=Tracia Mus
|
||||
Name[ia]=Tracia mus
|
||||
Name[id]=Lacak Tetikus
|
||||
Name[is]=Elta mús
|
||||
Name[it]=Trova il mouse
|
||||
|
|
|
@ -38,7 +38,7 @@ Name[hi]=माउस ट्रैक करें
|
|||
Name[hne]=मुसुवा ट्रैक करव
|
||||
Name[hr]=Praćenje miša
|
||||
Name[hu]=Egérkövetés
|
||||
Name[ia]=Tracia Mus
|
||||
Name[ia]=Tracia mus
|
||||
Name[id]=Lacak Tetikus
|
||||
Name[is]=Elta mús
|
||||
Name[it]=Trova il mouse
|
||||
|
|
|
@ -37,6 +37,7 @@ Name[sr@ijekavianlatin]=Geometrija prozora
|
|||
Name[sr@latin]=Geometrija prozora
|
||||
Name[sv]=Fönstergeometri
|
||||
Name[th]=มิติขนาดของหน้าต่าง
|
||||
Name[tr]=PencereGeometrisi
|
||||
Name[uk]=Розміри вікна
|
||||
Name[x-test]=xxWindowGeometryxx
|
||||
Name[zh_TW]=視窗位置
|
||||
|
@ -75,6 +76,7 @@ Comment[sr@ijekavianlatin]=Prikaz geometrije prozora pri premeštanju i preuveli
|
|||
Comment[sr@latin]=Prikaz geometrije prozora pri premeštanju i preuveličavanju
|
||||
Comment[sv]=Visa fönstergeometri vid förflyttning och storleksändring
|
||||
Comment[th]=แสดงมิติขนาดของหน้าต่างเมื่อมีการย้ายหรือปรับขนาดหน้าต่าง
|
||||
Comment[tr]=Taşıma/yeniden boyutlandırmada pencere şekilllerini görüntüle
|
||||
Comment[uk]=Показ розмірів вікон при пересуванні або зміні розмірів
|
||||
Comment[x-test]=xxDisplay window geometries on move/resizexx
|
||||
Comment[zh_TW]=移動/調整大小時顯示視窗位置
|
||||
|
|
|
@ -43,6 +43,7 @@ Name[sr@ijekavianlatin]=Geometrija prozora
|
|||
Name[sr@latin]=Geometrija prozora
|
||||
Name[sv]=Fönstergeometri
|
||||
Name[th]=มิติขนาดของหน้าต่าง
|
||||
Name[tr]=PencereGeometrisi
|
||||
Name[uk]=Розміри вікна
|
||||
Name[x-test]=xxWindowGeometryxx
|
||||
Name[zh_TW]=視窗位置
|
||||
|
|
|
@ -870,6 +870,8 @@ void Client::propertyNotifyEvent(XPropertyEvent* e)
|
|||
getSyncCounter();
|
||||
else if (e->atom == atoms->activities)
|
||||
checkActivities();
|
||||
else if (e->atom == atoms->kde_net_wm_block_compositing)
|
||||
updateCompositeBlocking(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,7 +33,7 @@ Name[he]=שולחנות עבודה וירטואליים
|
|||
Name[hi]=आभासी डेस्कटॉप
|
||||
Name[hr]=Virtualne radne površine
|
||||
Name[hu]=Virtuális asztalok
|
||||
Name[ia]=Scriptorios Virtual
|
||||
Name[ia]=Scriptorios virtual
|
||||
Name[id]=Desktop Virtual
|
||||
Name[is]=Sýndarskjáborð
|
||||
Name[it]=Desktop virtuali
|
||||
|
@ -105,7 +105,7 @@ Comment[hi]=आप कॉन्फ़िगर कर सकते हैं क
|
|||
Comment[hne]=आप मन कान्फिगर कर सकथो कि उहां कतका ठन आभासी डेस्कटाप होही.
|
||||
Comment[hr]=Konfiguriranje broja virtualnih radnih površina
|
||||
Comment[hu]=A virtuális munkaasztalok számának beállítása
|
||||
Comment[ia]=Tu pote configurar quante es le scriptorios virtual.
|
||||
Comment[ia]=Tu pote configurar le quantitate del scriptorios virtual.
|
||||
Comment[id]=Anda dapat mengatur berapa banyak desktop virtual yang ada.
|
||||
Comment[is]=Hér getur þú stillt hversu mörg sýndaskjáborðin eru.
|
||||
Comment[it]=Configura quanti desktop virtuali vuoi.
|
||||
|
|
|
@ -133,7 +133,7 @@ Comment[hi]=कुंजीपट तथा माउस विन्यास
|
|||
Comment[hne]=कुंजीपट अउ मुसुवा सेटिंग कान्फिगर करव
|
||||
Comment[hr]=Konfiguriranje postavki tipkovnice i miša
|
||||
Comment[hu]=A billentyűzet- és egérkezelés beállításai
|
||||
Comment[ia]=Configurar preferentias de claviero e mus
|
||||
Comment[ia]=Configura preferentias de claviero e mus
|
||||
Comment[id]=Atur pengaturan papan ketik dan tetikus
|
||||
Comment[is]=Stilla lyklaborð og mús
|
||||
Comment[it]=Configura le impostazioni della tastiera e del mouse
|
||||
|
|
|
@ -43,7 +43,7 @@ Name[hi]=खिसकाते हुए
|
|||
Name[hne]=खिसकावत हे
|
||||
Name[hr]=Pomicanje
|
||||
Name[hu]=Mozgatás
|
||||
Name[ia]=Mover
|
||||
Name[ia]=Movente
|
||||
Name[id]=Memindahkan
|
||||
Name[is]=Færa
|
||||
Name[it]=Spostamento
|
||||
|
@ -130,7 +130,7 @@ Comment[hi]=कॉन्फ़िगर करें कि विंडो क
|
|||
Comment[hne]=कान्फिगर करव कि विंडो कइसन खिसके
|
||||
Comment[hr]=Konfiguriranje načina pomicanja prozora
|
||||
Comment[hu]=Az ablakmozgatás beállításai
|
||||
Comment[ia]=Configura le modo que fenestrar es movite
|
||||
Comment[ia]=Configura le modo que fenestras es movite
|
||||
Comment[id]=Atur bagaimana cara jendela dipindahkan
|
||||
Comment[is]=Stilla hvernig gluggar eru hreyfðir
|
||||
Comment[it]=Configura come le finestre vengono spostate
|
||||
|
|
|
@ -134,7 +134,7 @@ Comment[hi]=विंडो व्यवहार कॉन्फ़िगर
|
|||
Comment[hne]=विंडो व्यवहार कान्फिगर करव
|
||||
Comment[hr]=Konfiguriranje ponašanja preglednika
|
||||
Comment[hu]=Az ablakok működési jellemzőinek beállítása
|
||||
Comment[ia]=Configurar le comportamento de fenestra
|
||||
Comment[ia]=Configura le comportamento de fenestra
|
||||
Comment[id]=Atur perilaku jendela
|
||||
Comment[is]=Stilla hegðan glugga
|
||||
Comment[it]=Configura il comportamento delle finestre
|
||||
|
|
|
@ -31,7 +31,7 @@ Name[he]=כללי חלון
|
|||
Name[hi]=विंडो निय
|
||||
Name[hr]=Pravila prozora
|
||||
Name[hu]=Ablakszabályok
|
||||
Name[ia]=Regulas de Window
|
||||
Name[ia]=Regulas de fenestra
|
||||
Name[id]=Aturan Jendela
|
||||
Name[is]=Gluggahegðunarreglur
|
||||
Name[it]=Regole delle finestre
|
||||
|
@ -102,7 +102,7 @@ Comment[hi]=किसी खास विंडो के लिए विन्
|
|||
Comment[hne]=कोई खास विंडो बर सेटिंग कान्फिगर करव
|
||||
Comment[hr]=Konfiguriranje određenih postavki za prozor
|
||||
Comment[hu]=Egy adott ablak beállításai
|
||||
Comment[ia]=Configurar preferentias specificamente pro un fenestra
|
||||
Comment[ia]=Configura preferentias specificamente pro un fenestra
|
||||
Comment[id]=Atur pengaturan terutama untuk jendela
|
||||
Comment[is]=Stillingar sem varða tiltekinn glugga
|
||||
Comment[it]=Configura le impostazioni specifiche di una finestra
|
||||
|
|
|
@ -115,6 +115,7 @@ RulesWidget::RulesWidget(QWidget* parent)
|
|||
SETUP(maxsize, force);
|
||||
SETUP(strictgeometry, force);
|
||||
SETUP(disableglobalshortcuts, force);
|
||||
SETUP(blockcompositing, force);
|
||||
int i;
|
||||
for (i = 1;
|
||||
i <= KWindowSystem::numberOfDesktops();
|
||||
|
@ -171,6 +172,7 @@ UPDATE_ENABLE_SLOT(minsize)
|
|||
UPDATE_ENABLE_SLOT(maxsize)
|
||||
UPDATE_ENABLE_SLOT(strictgeometry)
|
||||
UPDATE_ENABLE_SLOT(disableglobalshortcuts)
|
||||
UPDATE_ENABLE_SLOT(blockcompositing)
|
||||
|
||||
#undef UPDATE_ENABLE_SLOT
|
||||
|
||||
|
@ -450,6 +452,7 @@ void RulesWidget::setRules(Rules* rules)
|
|||
LINEEDIT_FORCE_RULE(maxsize, sizeToStr);
|
||||
CHECKBOX_FORCE_RULE(strictgeometry,);
|
||||
CHECKBOX_FORCE_RULE(disableglobalshortcuts,);
|
||||
CHECKBOX_FORCE_RULE(blockcompositing,);
|
||||
}
|
||||
|
||||
#undef GENERIC_RULE
|
||||
|
@ -544,6 +547,7 @@ Rules* RulesWidget::rules() const
|
|||
LINEEDIT_FORCE_RULE(maxsize, strToSize);
|
||||
CHECKBOX_FORCE_RULE(strictgeometry,);
|
||||
CHECKBOX_FORCE_RULE(disableglobalshortcuts,);
|
||||
CHECKBOX_FORCE_RULE(blockcompositing,);
|
||||
return rules;
|
||||
}
|
||||
|
||||
|
@ -662,6 +666,7 @@ void RulesWidget::prefillUnusedValues(const KWindowInfo& info)
|
|||
LINEEDIT_PREFILL(maxsize, sizeToStr, info.frameGeometry().size());
|
||||
//CHECKBOX_PREFILL( strictgeometry, );
|
||||
//CHECKBOX_PREFILL( disableglobalshortcuts, );
|
||||
//CHECKBOX_PREFILL( blockcompositing, );
|
||||
}
|
||||
|
||||
#undef GENERIC_PREFILL
|
||||
|
|
|
@ -89,6 +89,7 @@ private slots:
|
|||
void updateEnablestrictgeometry();
|
||||
void updateEnableshortcut();
|
||||
void updateEnabledisableglobalshortcuts();
|
||||
void updateEnableblockcompositing();
|
||||
// internal
|
||||
void detected(bool);
|
||||
private:
|
||||
|
|
|
@ -1792,7 +1792,7 @@
|
|||
<attribute name="title">
|
||||
<string>W&orkarounds</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout">
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<widget class="QCheckBox" name="enable_fsplevel">
|
||||
<property name="text">
|
||||
|
@ -1800,6 +1800,113 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="KComboBox" name="rule_fsplevel">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do Not Affect</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force Temporarily</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="KComboBox" name="fsplevel">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string comment="no focus stealing prevention">None</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Low</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Normal</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>High</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Extreme</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QCheckBox" name="enable_moveresizemode">
|
||||
<property name="text">
|
||||
<string>&Moving/resizing</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="KComboBox" name="rule_moveresizemode">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do Not Affect</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force Temporarily</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="KComboBox" name="moveresizemode">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Opaque</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Transparent</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QCheckBox" name="enable_type">
|
||||
<property name="text">
|
||||
<string>Window &type</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="KComboBox" name="rule_type">
|
||||
<property name="enabled">
|
||||
|
@ -1879,191 +1986,6 @@
|
|||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="KComboBox" name="moveresizemode">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Opaque</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Transparent</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QCheckBox" name="enable_type">
|
||||
<property name="text">
|
||||
<string>Window &type</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QCheckBox" name="enable_moveresizemode">
|
||||
<property name="text">
|
||||
<string>&Moving/resizing</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="KComboBox" name="rule_fsplevel">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do Not Affect</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force Temporarily</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="KComboBox" name="rule_moveresizemode">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do Not Affect</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force Temporarily</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="KComboBox" name="fsplevel">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string comment="no focus stealing prevention">None</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Low</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Normal</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>High</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Extreme</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="3">
|
||||
<widget class="KRestrictedLine" name="maxsize">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="validChars">
|
||||
<string>0123456789-+,xX:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QCheckBox" name="enable_minsize">
|
||||
<property name="text">
|
||||
<string>M&inimum size</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="KComboBox" name="rule_minsize">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do Not Affect</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force Temporarily</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QCheckBox" name="enable_maxsize">
|
||||
<property name="text">
|
||||
<string>M&aximum size</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="3">
|
||||
<widget class="KRestrictedLine" name="minsize">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="validChars">
|
||||
<string>0123456789-+,xX:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="KComboBox" name="rule_maxsize">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do Not Affect</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force Temporarily</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QCheckBox" name="enable_ignoreposition">
|
||||
<property name="text">
|
||||
|
@ -2103,21 +2025,83 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="2">
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
<item row="4" column="0">
|
||||
<widget class="QCheckBox" name="enable_minsize">
|
||||
<property name="text">
|
||||
<string>M&inimum size</string>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Expanding</enum>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="KComboBox" name="rule_minsize">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>160</height>
|
||||
</size>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do Not Affect</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force Temporarily</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="3">
|
||||
<widget class="KRestrictedLine" name="minsize">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
</spacer>
|
||||
<property name="validChars">
|
||||
<string>0123456789-+,xX:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QCheckBox" name="enable_maxsize">
|
||||
<property name="text">
|
||||
<string>M&aximum size</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="KComboBox" name="rule_maxsize">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do Not Affect</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force Temporarily</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="3">
|
||||
<widget class="KRestrictedLine" name="maxsize">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="validChars">
|
||||
<string>0123456789-+,xX:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QCheckBox" name="enable_strictgeometry">
|
||||
|
@ -2161,16 +2145,6 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="3">
|
||||
<widget class="QCheckBox" name="disableglobalshortcuts">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<widget class="QCheckBox" name="enable_disableglobalshortcuts">
|
||||
<property name="text">
|
||||
|
@ -2203,6 +2177,68 @@
|
|||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="3">
|
||||
<widget class="QCheckBox" name="disableglobalshortcuts">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0">
|
||||
<widget class="QCheckBox" name="enable_blockcompositing">
|
||||
<property name="text">
|
||||
<string>Block compositing</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="1">
|
||||
<widget class="KComboBox" name="rule_blockcompositing">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Do Not Affect</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Force Temporarily</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="3">
|
||||
<widget class="QCheckBox" name="blockcompositing">
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="2">
|
||||
<spacer>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Expanding</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>160</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
|
|
|
@ -37,7 +37,7 @@ Name[he]=קצוות מסך
|
|||
Name[hi]=स्क्रीन सीमाएँ
|
||||
Name[hr]=Rubovi ekrana
|
||||
Name[hu]=Képernyőszélek
|
||||
Name[ia]=margines de schermo
|
||||
Name[ia]=Margines de schermo
|
||||
Name[id]=Tepi Layar
|
||||
Name[is]=Skjájaðrar
|
||||
Name[it]=Lati dello schermo
|
||||
|
@ -102,7 +102,7 @@ Comment[gu]=સક્રિય સ્ક્રિન ધારો રૂપર
|
|||
Comment[he]=הגדרת קצוות מסך פעילים
|
||||
Comment[hr]=Konfiguracija aktivnih rubova ekrana
|
||||
Comment[hu]=Aktív képernyőszegélyeket kapcsol be
|
||||
Comment[ia]=Configurar margines de schermo active
|
||||
Comment[ia]=Configura margines de schermo active
|
||||
Comment[id]=Atur tepi layar aktif
|
||||
Comment[is]=Stilla virka skjájaðra
|
||||
Comment[it]=Configura i lati dello schermo attivi
|
||||
|
|
|
@ -29,7 +29,7 @@ Name[he]=מחליף משימות
|
|||
Name[hi]=कार्य बदल
|
||||
Name[hr]=Prebacivač zadataka
|
||||
Name[hu]=Feladatváltó
|
||||
Name[ia]=Commutator de Carga
|
||||
Name[ia]=Commutator de carga
|
||||
Name[id]=Pengganti Tugas
|
||||
Name[is]=Verkefnaskiptir
|
||||
Name[it]=Scambiafinestre
|
||||
|
@ -79,7 +79,7 @@ Comment[fi]=Muokkaa ikkunoiden selauksen toimintatapaa
|
|||
Comment[fr]=Configuration du comportement pour la navigation à travers les fenêtres
|
||||
Comment[he]=הגדרת ההתנהגות בניווט בין חלונות
|
||||
Comment[hr]=Podesi ponašanje listanja prozora
|
||||
Comment[ia]=Configurar le comportamento pro navigar intra fenestras
|
||||
Comment[ia]=Configura le comportamento pro navigar intra fenestras
|
||||
Comment[it]=Configura come si naviga tra le finestre
|
||||
Comment[ja]=ウィンドウ間を移動する際の挙動を設定
|
||||
Comment[kk]=Терезелер арасында ауысу тәртібін орнату.
|
||||
|
@ -102,6 +102,7 @@ Comment[sr@ijekavianlatin]=Podešavanje ponašanja pri kretanju kroz prozore
|
|||
Comment[sr@latin]=Podešavanje ponašanja pri kretanju kroz prozore
|
||||
Comment[sv]=Anpassa beteendet för att navigera i fönster
|
||||
Comment[th]=ปรับแต่งพฤติกรรมของการนำร่องไปยังหน้าต่างต่าง ๆ
|
||||
Comment[tr]=Pencereler arasında gezinme davranışını yapılandır
|
||||
Comment[uk]=Налаштування поведінки системи під час навігації вікнами
|
||||
Comment[x-test]=xxConfigure the behavior for navigating through windowsxx
|
||||
Comment[zh_TW]=設定透過視窗導覽的行為。
|
||||
|
|
106
kwin.notifyrc
106
kwin.notifyrc
|
@ -20,7 +20,7 @@ Comment[he]=מנהל החלונות KWin
|
|||
Comment[hi]=केविन विंडो प्रबंधक
|
||||
Comment[hr]=Upravitelj prozora KWin
|
||||
Comment[hu]=KWin ablakkezelő
|
||||
Comment[ia]=Gerente de Fenestra KWin
|
||||
Comment[ia]=Gerente de fenestra KWin
|
||||
Comment[id]=Manajer Jendela KWin
|
||||
Comment[is]=KWin gluggastjóri
|
||||
Comment[it]=Gestore delle finestre KWin
|
||||
|
@ -93,7 +93,7 @@ Name[hi]=डेस्कटॉप 1 पर जाएँ
|
|||
Name[hne]=डेस्कटाप १ मं जाव
|
||||
Name[hr]=Prebaci se na radnu površinu 1
|
||||
Name[hu]=Váltás az 1. asztalra
|
||||
Name[ia]=Cambiar a Scriptorio 1
|
||||
Name[ia]=Cambia a Scriptorio 1
|
||||
Name[id]=Ubah ke Desktop 1
|
||||
Name[is]=Birta skjáborð 1
|
||||
Name[it]=Passa al desktop 1
|
||||
|
@ -264,7 +264,7 @@ Name[hi]=डेस्कटॉप 2 पर जाएँ
|
|||
Name[hne]=डेस्कटाप २ मं जाव
|
||||
Name[hr]=Prebaci se na radnu površinu 2
|
||||
Name[hu]=Váltás a 2. asztalra
|
||||
Name[ia]=Cambiar a Scriptorio 2
|
||||
Name[ia]=Cambia a Scriptorio 2
|
||||
Name[id]=Ubah ke Desktop 2
|
||||
Name[is]=Birta skjáborð 2
|
||||
Name[it]=Vai al desktop 2
|
||||
|
@ -436,7 +436,7 @@ Name[hi]=डेस्कटॉप 3 पर जाएँ
|
|||
Name[hne]=डेस्कटाप २ मं जाव
|
||||
Name[hr]=Prebaci se na radnu površinu 3
|
||||
Name[hu]=Váltás a 3. asztalra
|
||||
Name[ia]=Cambiar a Scriptorio 3
|
||||
Name[ia]=Cambia a Scriptorio 3
|
||||
Name[id]=Ubah ke Desktop 3
|
||||
Name[is]=Birta skjáborð 3
|
||||
Name[it]=Vai al desktop 3
|
||||
|
@ -608,7 +608,7 @@ Name[hi]=डेस्कटॉप 4 पर जाएँ
|
|||
Name[hne]=डेस्कटाप ४ मं जाव
|
||||
Name[hr]=Prebaci se na radnu površinu 4
|
||||
Name[hu]=Váltás a 4. asztalra
|
||||
Name[ia]=Cambiar a Scriptorio 4
|
||||
Name[ia]=Cambia a Scriptorio 4
|
||||
Name[id]=Ubah ke Desktop 4
|
||||
Name[is]=Birta skjáborð 4
|
||||
Name[it]=Vai al desktop 4
|
||||
|
@ -779,7 +779,7 @@ Name[hi]=डेस्कटॉप 5 पर जाएँ
|
|||
Name[hne]=डेस्कटाप ५ मं जाव
|
||||
Name[hr]=Prebaci se na radnu površinu 5
|
||||
Name[hu]=Váltás az 5. asztalra
|
||||
Name[ia]=Cambiar a Scriptorio 5
|
||||
Name[ia]=Cambia a Scriptorio 5
|
||||
Name[id]=Ubah ke Desktop 5
|
||||
Name[is]=Birta skjáborð 5
|
||||
Name[it]=Vai al desktop 5
|
||||
|
@ -951,7 +951,7 @@ Name[hi]=डेस्कटॉप 6 पर जाएँ
|
|||
Name[hne]=डेस्कटाप ६ मं जाव
|
||||
Name[hr]=Prebaci se na radnu površinu 6
|
||||
Name[hu]=Váltás a 6. asztalra
|
||||
Name[ia]=Cambiar a Scriptorio 6
|
||||
Name[ia]=Cambia a Scriptorio 6
|
||||
Name[id]=Ubah ke Desktop 6
|
||||
Name[is]=Birta skjáborð 6
|
||||
Name[it]=Vai al desktop 6
|
||||
|
@ -1121,7 +1121,7 @@ Name[hi]=डेस्कटॉप 7 पर जाएँ
|
|||
Name[hne]=डेस्कटाप ७ मं जाव
|
||||
Name[hr]=Prebaci se na radnu površinu 7
|
||||
Name[hu]=Váltás: 7. asztalra
|
||||
Name[ia]=Cambiar a Scriptorio 7
|
||||
Name[ia]=Cambia a Scriptorio 7
|
||||
Name[id]=Ubah ke Desktop 7
|
||||
Name[is]=Birta skjáborð 7
|
||||
Name[it]=Vai al desktop 7
|
||||
|
@ -1293,7 +1293,7 @@ Name[hi]=डेस्कटॉप 8 पर जाएँ
|
|||
Name[hne]=डेस्कटाप ८ मं जाव
|
||||
Name[hr]=Prebaci se na radnu površinu 8
|
||||
Name[hu]=Váltás: 8. asztalra
|
||||
Name[ia]=Cambiar a Scriptorio 8
|
||||
Name[ia]=Cambia a Scriptorio 8
|
||||
Name[id]=Ubah ke Desktop 8
|
||||
Name[is]=Birta skjáborð 8
|
||||
Name[it]=Vai al desktop 8
|
||||
|
@ -1464,7 +1464,7 @@ Name[hi]=डेस्कटॉप 9 पर जाएँ
|
|||
Name[hne]=डेस्कटाप ९ मं जाव
|
||||
Name[hr]=Prebaci se na radnu površinu 9
|
||||
Name[hu]=Váltás: 9. asztalra
|
||||
Name[ia]=Cambiar a Scriptorio 9
|
||||
Name[ia]=Cambia a Scriptorio 9
|
||||
Name[id]=Ubah ke Desktop 9
|
||||
Name[is]=Birta skjáborð 9
|
||||
Name[it]=Vai al desktop 9
|
||||
|
@ -1632,7 +1632,7 @@ Name[hi]=डेस्कटॉप 10 पर जाएँ
|
|||
Name[hne]=डेस्कटाप १० मं जाव
|
||||
Name[hr]=Prebaci se na radnu površinu 10
|
||||
Name[hu]=Váltás: 10. asztalra
|
||||
Name[ia]=Cambiar a Scriptorio 10
|
||||
Name[ia]=Cambia a Scriptorio 10
|
||||
Name[id]=Ubah ke Desktop 10
|
||||
Name[is]=Birta skjáborð 10
|
||||
Name[it]=Vai al desktop 10
|
||||
|
@ -1800,7 +1800,7 @@ Name[hi]=डेस्कटॉप 11 पर जाएँ
|
|||
Name[hne]=डेस्कटाप ११ मं जाव
|
||||
Name[hr]=Prebaci se na radnu površinu 11
|
||||
Name[hu]=Váltás: 11. asztalra
|
||||
Name[ia]=Cambiar a Scriptorio 11
|
||||
Name[ia]=Cambia a Scriptorio 11
|
||||
Name[id]=Ubah ke Desktop 11
|
||||
Name[is]=Birta skjáborð 11
|
||||
Name[it]=Vai al desktop 11
|
||||
|
@ -1967,7 +1967,7 @@ Name[hi]=डेस्कटॉप 12 पर जाएँ
|
|||
Name[hne]=डेस्कटाप १२ मं जाव
|
||||
Name[hr]=Prebaci se na radnu površinu 12
|
||||
Name[hu]=Váltás: 12. asztalra
|
||||
Name[ia]=Cambiar a Scriptorio 12
|
||||
Name[ia]=Cambia a Scriptorio 12
|
||||
Name[id]=Ubah ke Desktop 12
|
||||
Name[is]=Birta skjáborð 12
|
||||
Name[it]=Vai al desktop 12
|
||||
|
@ -2134,7 +2134,7 @@ Name[hi]=डेस्कटॉप 13 पर जाएँ
|
|||
Name[hne]=डेस्कटाप १३ मं जाव
|
||||
Name[hr]=Prebaci se na radnu površinu 13
|
||||
Name[hu]=Váltás a 13. asztalra
|
||||
Name[ia]=Cambiar a Scriptorio 13
|
||||
Name[ia]=Cambia a Scriptorio 13
|
||||
Name[id]=Ubah ke Desktop 13
|
||||
Name[is]=Birta skjáborð 13
|
||||
Name[it]=Vai al desktop 13
|
||||
|
@ -2302,7 +2302,7 @@ Name[hi]=डेस्कटॉप 14 पर जाएँ
|
|||
Name[hne]=डेस्कटाप १४ मं जाव
|
||||
Name[hr]=Prebaci se na radnu površinu 14
|
||||
Name[hu]=Váltás a 14. asztalra
|
||||
Name[ia]=Cambiar a Scriptorio 14
|
||||
Name[ia]=Cambia a Scriptorio 14
|
||||
Name[id]=Ubah ke Desktop 14
|
||||
Name[is]=Birta skjáborð 14
|
||||
Name[it]=Vai al desktop 14
|
||||
|
@ -2469,7 +2469,7 @@ Name[hi]=डेस्कटॉप 15 पर जाएँ
|
|||
Name[hne]=डेस्कटाप १५ मं जाव
|
||||
Name[hr]=Prebaci se na radnu površinu 15
|
||||
Name[hu]=Váltás a 15. asztalra
|
||||
Name[ia]=Cambiar a Scriptorio 15
|
||||
Name[ia]=Cambia a Scriptorio 15
|
||||
Name[id]=Ubah ke Desktop 15
|
||||
Name[is]=Birta skjáborð 15
|
||||
Name[it]=Vai al desktop 15
|
||||
|
@ -2637,7 +2637,7 @@ Name[hi]=डेस्कटॉप 16 पर जाएँ
|
|||
Name[hne]=डेस्कटाप १६ मं जाव
|
||||
Name[hr]=Prebaci se na radnu površinu 16
|
||||
Name[hu]=Váltás a 16. asztalra
|
||||
Name[ia]=Cambiar a Scriptorio 16
|
||||
Name[ia]=Cambia a Scriptorio 16
|
||||
Name[id]=Ubah ke Desktop 16
|
||||
Name[is]=Birta skjáborð 16
|
||||
Name[it]=Vai al desktop 16
|
||||
|
@ -2805,7 +2805,7 @@ Name[hi]=डेस्कटॉप 17 पर जाएँ
|
|||
Name[hne]=डेस्कटाप १७ मं जाव
|
||||
Name[hr]=Prebaci se na radnu površinu 17
|
||||
Name[hu]=Váltás a 17. asztalra
|
||||
Name[ia]=Cambiar a Scriptorio 17
|
||||
Name[ia]=Cambia a Scriptorio 17
|
||||
Name[id]=Ubah ke Desktop 17
|
||||
Name[is]=Birta skjáborð 17
|
||||
Name[it]=Vai al desktop 17
|
||||
|
@ -2972,7 +2972,7 @@ Name[hi]=डेस्कटॉप 18 पर जाएँ
|
|||
Name[hne]=डेस्कटाप १८ मं जाव
|
||||
Name[hr]=Prebaci se na radnu površinu 18
|
||||
Name[hu]=Váltás a 18. asztalra
|
||||
Name[ia]=Cambiar a Scriptorio 18
|
||||
Name[ia]=Cambia a Scriptorio 18
|
||||
Name[id]=Ubah ke Desktop 18
|
||||
Name[is]=Birta skjáborð 18
|
||||
Name[it]=Vai al desktop 18
|
||||
|
@ -3140,7 +3140,7 @@ Name[hi]=डेस्कटॉप 19 पर जाएँ
|
|||
Name[hne]=डेस्कटाप १९ मं जाव
|
||||
Name[hr]=Prebaci se na radnu površinu 19
|
||||
Name[hu]=Váltás az 19. asztalra
|
||||
Name[ia]=Cambiar a Scriptorio 19
|
||||
Name[ia]=Cambia a Scriptorio 19
|
||||
Name[id]=Ubah ke Desktop 19
|
||||
Name[is]=Birta skjáborð 19
|
||||
Name[it]=Vai al desktop 19
|
||||
|
@ -3308,7 +3308,7 @@ Name[hi]=डेस्कटॉप 20 पर जाएँ
|
|||
Name[hne]=डेस्कटाप २० मं जाव
|
||||
Name[hr]=Prebaci se na radnu površinu 20
|
||||
Name[hu]=Váltás a 20. asztalra
|
||||
Name[ia]=Cambiar a Scriptorio 20
|
||||
Name[ia]=Cambia a Scriptorio 20
|
||||
Name[id]=Ubah ke Desktop 20
|
||||
Name[is]=Birta skjáborð 20
|
||||
Name[it]=Vai al desktop 20
|
||||
|
@ -3474,7 +3474,7 @@ Name[hi]=विंडो सक्रिय करें
|
|||
Name[hne]=विंडो सक्रिय करव
|
||||
Name[hr]=Aktiviraj prozor
|
||||
Name[hu]=Ablak aktiválása
|
||||
Name[ia]=Activar Fenestra
|
||||
Name[ia]=Activa fenestra
|
||||
Name[id]=Aktifkan Jendela
|
||||
Name[is]=Virkja glugga
|
||||
Name[it]=Attiva finestra
|
||||
|
@ -3641,7 +3641,7 @@ Name[hne]=नवा विंडो
|
|||
Name[hr]=Novi prozor
|
||||
Name[hsb]=Nowe wokno
|
||||
Name[hu]=Új ablak
|
||||
Name[ia]=Nove Fenestra
|
||||
Name[ia]=Nove fenestra
|
||||
Name[id]=Jendela Baru
|
||||
Name[is]=Opna nýjan glugga
|
||||
Name[it]=Nuova finestra
|
||||
|
@ -3726,7 +3726,7 @@ Comment[hi]=नया विंडो
|
|||
Comment[hne]=नवा विंडो
|
||||
Comment[hr]=Novi prozor
|
||||
Comment[hu]=Új ablak
|
||||
Comment[ia]=Nove Fenestra
|
||||
Comment[ia]=Nove fenestra
|
||||
Comment[id]=Jendela baru
|
||||
Comment[is]=Nýr gluggi
|
||||
Comment[it]=Nuova finestra
|
||||
|
@ -3813,7 +3813,7 @@ Name[hi]=विंडो मिटाएँ
|
|||
Name[hne]=विंडो मेटाव
|
||||
Name[hr]=Izbriši prozor
|
||||
Name[hu]=Ablak törlése
|
||||
Name[ia]=Cancellar fenestra
|
||||
Name[ia]=Dele fenestra
|
||||
Name[id]=Hapus Jendela
|
||||
Name[is]=Eyða glugga
|
||||
Name[it]=Elimina finestra
|
||||
|
@ -3894,7 +3894,7 @@ Comment[hi]=विंडो मिटाएँ
|
|||
Comment[hne]=विंडो मेटाव
|
||||
Comment[hr]=Brisanje prozora
|
||||
Comment[hu]=Ablak törlése
|
||||
Comment[ia]=Cancellar fenestra
|
||||
Comment[ia]=Dele fenestra
|
||||
Comment[id]=Hapus jendela
|
||||
Comment[is]=Eyða glugga
|
||||
Comment[it]=Elimina una finestra
|
||||
|
@ -3979,7 +3979,7 @@ Name[hi]=विंडो बंद करें
|
|||
Name[hne]=विंडो बंद करव
|
||||
Name[hr]=Zatvori prozor
|
||||
Name[hu]=Ablak bezárása
|
||||
Name[ia]=Clauder Fenestra
|
||||
Name[ia]=Claude fenestra
|
||||
Name[id]=Jendela Menutup
|
||||
Name[is]=Gluggi lokast
|
||||
Name[it]=Chiusura di una finestra
|
||||
|
@ -4147,7 +4147,7 @@ Name[hi]=विंडो शेड अप
|
|||
Name[hne]=विंडो सेड अप
|
||||
Name[hr]=Zamotaj prozor
|
||||
Name[hu]=Ablak felgördítése
|
||||
Name[ia]=Adumbrar un fenestra super
|
||||
Name[ia]=Adumbra un fenestra de supra
|
||||
Name[id]=Jendela Berbayang Ke Atas
|
||||
Name[is]=Glugga rúllað upp
|
||||
Name[it]=Arrotolamento di una finestra
|
||||
|
@ -4224,7 +4224,7 @@ Comment[hi]=एक विंडो में छाया भरी गई
|
|||
Comment[hne]=एक विंडो मं छइंहा उपर
|
||||
Comment[hr]=Prozor je zamotan
|
||||
Comment[hu]=Ablak felgördítése
|
||||
Comment[ia]=Un fenestra es adumbrate super
|
||||
Comment[ia]=Un fenestra es adumbrate de supra
|
||||
Comment[id]=Sebuah jendela berbayang ke atas
|
||||
Comment[is]=Glugga er rúllað upp
|
||||
Comment[it]=Una finestra viene arrotolata
|
||||
|
@ -4305,7 +4305,7 @@ Name[hi]=विंडो शेड डाउन
|
|||
Name[hne]=विंडो सेड डाउन
|
||||
Name[hr]=Odmotaj prozor
|
||||
Name[hu]=Ablak legördítése
|
||||
Name[ia]=Adumbrar a basso un fenestra
|
||||
Name[ia]=Adumbra a basso un fenestra
|
||||
Name[id]=Jendela Berbayang Ke Bawah
|
||||
Name[is]=Glugga rúllað niður
|
||||
Name[it]=Srotolamento di una finestra
|
||||
|
@ -4460,7 +4460,7 @@ Name[hi]=विंडो न्यूनतम करें
|
|||
Name[hne]=विंडो छोटा
|
||||
Name[hr]=Minimiziraj prozor
|
||||
Name[hu]=Ablak minimalizálása
|
||||
Name[ia]=Minimizar fenestra
|
||||
Name[ia]=Minimisa fenestra
|
||||
Name[id]=Jendela Minimal
|
||||
Name[is]=Glugga lágmarkað
|
||||
Name[it]=Minimizzazione di una finestra
|
||||
|
@ -4540,7 +4540,7 @@ Comment[hi]=एक विंडो न्यूनतम हुआ
|
|||
Comment[hne]=एक विंडो छोटा होइस
|
||||
Comment[hr]=Prozor je minimiziran
|
||||
Comment[hu]=Ablak minimalizálása
|
||||
Comment[ia]=Un fenestra es minimizate
|
||||
Comment[ia]=Un fenestra es minimisate
|
||||
Comment[id]=Sebuah jendela diminimalkan
|
||||
Comment[is]=Gluggi er lágmarkaður
|
||||
Comment[it]=Una finestra viene minimizzata
|
||||
|
@ -4623,7 +4623,7 @@ Name[hi]=विंडो न्यूनतम नहीं
|
|||
Name[hne]=विंडो बहाल
|
||||
Name[hr]=Vrati minimiziran prozor
|
||||
Name[hu]=Minimalizált ablak visszaállítása
|
||||
Name[ia]=Cancellar Minimization de fenestra
|
||||
Name[ia]=Annulla minimisation de fenestra
|
||||
Name[id]=Jendela Tak Minimalkan
|
||||
Name[is]=Gluggi ekki lágmarkað
|
||||
Name[it]=Ripristino di una finestra
|
||||
|
@ -4783,7 +4783,7 @@ Name[hi]=विंडो अधिकतम करें
|
|||
Name[hne]=विंडो बड़ा
|
||||
Name[hr]=Maksimiziraj prozor
|
||||
Name[hu]=Ablak maximalizálása
|
||||
Name[ia]=Maximizar Fenestra
|
||||
Name[ia]=Maximiza fenestra
|
||||
Name[id]=Jendela Maksimalkan
|
||||
Name[is]=Gluggi hámarkaður
|
||||
Name[it]=Massimizzazione di una finestra
|
||||
|
@ -4948,7 +4948,7 @@ Name[hi]=विंडो अधिकतम नहीं
|
|||
Name[hne]=विंडो बहाल
|
||||
Name[hr]=Vrati maksimiziran prozor
|
||||
Name[hu]=Maximalizált ablak visszaállítása
|
||||
Name[ia]=Fenestra cancella maximisation
|
||||
Name[ia]=Annulla maximization de fenestra
|
||||
Name[id]=Jendela Tak Maksimalkan
|
||||
Name[is]=Gluggi úr hámarki
|
||||
Name[it]=De-massimizzazione di una finestra
|
||||
|
@ -5107,7 +5107,7 @@ Name[hi]=विंडो सभी डेस्कटॉप पर रखें
|
|||
Name[hne]=सब्बो डेस्कटाप मं विंडो
|
||||
Name[hr]=Prozor na svim radnim površinama
|
||||
Name[hu]=Ablak megjelenése az összes munkaasztalon
|
||||
Name[ia]=Fenestra su Omne Scriptorios
|
||||
Name[ia]=Fenestra sur omne scriptorios
|
||||
Name[id]=Jendela di Semua Desktop
|
||||
Name[is]=Glugga á öll skjáborð
|
||||
Name[it]=Finestra su tutti i desktop
|
||||
|
@ -5184,7 +5184,7 @@ Comment[hi]=एक विंडो सभी डेस्कटॉप पर द
|
|||
Comment[hne]=एक विंडो सब्बो डेस्कटाप मं दिखही
|
||||
Comment[hr]=Prozor je vidljiv na svim radnim površinama
|
||||
Comment[hu]=Egy ablak megjelent az összes munkaasztalon
|
||||
Comment[ia]=Un fenestra es facite visibile super omne scriptorios
|
||||
Comment[ia]=Un fenestra es facite visibile sur omne scriptorios
|
||||
Comment[id]=Sebuah jendela dibuat agar tampak pada semua desktop
|
||||
Comment[is]=Gluggi er látinn sjást á öllum skjáborðum
|
||||
Comment[it]=Una finestra è resa visibile su tutti i desktop
|
||||
|
@ -5265,7 +5265,7 @@ Name[hi]=सभी डेस्कटॉप पर विंडो नहीं
|
|||
Name[hne]=विंडो सब्बो डेस्कटाप मं नइ
|
||||
Name[hr]=Prozor nije na svim radnim površinama
|
||||
Name[hu]=Ablak megjelenése egyetlen munkaasztalon
|
||||
Name[ia]=Fenestra Non super omne Scriptorios
|
||||
Name[ia]=Fenestra non super omne scriptorios
|
||||
Name[id]=Jendela Tidak di Semua Desktop
|
||||
Name[is]=Gluggi ekki á öllum skjáborðum
|
||||
Name[it]=Finestra non su tutti i desktop
|
||||
|
@ -5426,7 +5426,7 @@ Name[hi]=नया संवाद
|
|||
Name[hne]=नवा गोठ
|
||||
Name[hr]=Novi dijalog
|
||||
Name[hu]=Új párbeszédablak
|
||||
Name[ia]=Nove Dialogo
|
||||
Name[ia]=Nove dialogo
|
||||
Name[id]=Dialog Baru
|
||||
Name[is]=Opna nýjan glugga
|
||||
Name[it]=Nuova finestra di dialogo
|
||||
|
@ -5505,7 +5505,7 @@ Comment[hi]=ट्रांजिएंट विंडो (एक संवा
|
|||
Comment[hne]=ट्रांजिएन्ट विंडो (एक बात) दिखिस
|
||||
Comment[hr]=Pojavljuje se prijelazni prozor (dijalog)
|
||||
Comment[hu]=Párbeszédablak megjelenése
|
||||
Comment[ia]=Il appare un Fenestra Transitori (un dialogo)
|
||||
Comment[ia]=Il appare un fenestra transitori (un dialogo)
|
||||
Comment[id]=Jendela fana (sebuah dialog) muncul
|
||||
Comment[is]=Skammlífur samskiptagluggi birtist
|
||||
Comment[it]=Appare una finestra di dialogo
|
||||
|
@ -5587,7 +5587,7 @@ Name[hi]=संवाद मिटाएँ
|
|||
Name[hne]=बात ल मेटाव
|
||||
Name[hr]=Izbriši dijalog
|
||||
Name[hu]=Párbeszédablak eltűnése
|
||||
Name[ia]=Cancellar Dialogo
|
||||
Name[ia]=Dele dialogo
|
||||
Name[id]=Hapus Dialog
|
||||
Name[is]=Eyða samskiptaglugga
|
||||
Name[it]=Scomparsa di una finestra di dialogo
|
||||
|
@ -5745,7 +5745,7 @@ Name[hi]=विंडो खिसकाना चालू
|
|||
Name[hne]=विंडो खिसकाय बर सुरु
|
||||
Name[hr]=Početak micanja prozora
|
||||
Name[hu]=Ablakmozgatás kezdete
|
||||
Name[ia]=Initiar a Mover Fenestra
|
||||
Name[ia]=Initia a mover Fenestra
|
||||
Name[id]=Jendela Mulai Pindah
|
||||
Name[is]=Færsla glugga hefst
|
||||
Name[it]=Inizio dello spostamento di una finestra
|
||||
|
@ -5903,7 +5903,7 @@ Name[hi]=विंडो खिसकाना ख़त्म
|
|||
Name[hne]=विंडो खिसकाय बर बन्द
|
||||
Name[hr]=Završetak micanja prozora
|
||||
Name[hu]=Ablakmozgatás vége
|
||||
Name[ia]=Fin de Mover de Fenestra
|
||||
Name[ia]=Fin de mover de fenestra
|
||||
Name[id]=Jendela Selesai Pindah
|
||||
Name[is]=Færslu glugga lýkur
|
||||
Name[it]=Fine dello spostamento di una finestra
|
||||
|
@ -6061,7 +6061,7 @@ Name[hi]=विंडो नया-आकार चालू
|
|||
Name[hne]=विंडो के नवा आकार दे बर सुरू
|
||||
Name[hr]=Početak promjene veličine
|
||||
Name[hu]=Ablakátméretezés kezdete
|
||||
Name[ia]=Initio de Redimensionar de Fenestra
|
||||
Name[ia]=Initio de redimensionar de Fenestra
|
||||
Name[id]=Jendela Mulai Berubah Ukuran
|
||||
Name[is]=Stærðarbreyting glugga hefst
|
||||
Name[it]=Inizio del ridimensionamento di una finestra
|
||||
|
@ -6219,7 +6219,7 @@ Name[hi]=विंडो नया-आकार बन्द
|
|||
Name[hne]=विंडो नवा आकार देना पूरा
|
||||
Name[hr]=Završetak promjene veličine
|
||||
Name[hu]=Ablakátméretezés vége
|
||||
Name[ia]=Fin de Re-dimension de Fenestra
|
||||
Name[ia]=Fin de re-dimension de fenestra
|
||||
Name[id]=Jendela Selesai Berubah Ukuran
|
||||
Name[is]=Stærðarbreyting glugga lýkur
|
||||
Name[it]=Fine del ridimensionamento di una finestra
|
||||
|
@ -6373,7 +6373,7 @@ Name[hi]=वर्तमान डेस्कटॉप का विंडो
|
|||
Name[hne]=हाल वाले डेस्कटाप के विंडो हर आपमन के ध्यान चाहथे
|
||||
Name[hr]=Prozor na trenutnoj radnoj površini zahtijeva pažnju
|
||||
Name[hu]=Egy ablak az aktuális asztalon beavatkozást igényel
|
||||
Name[ia]=Fenestra in le Scriptorio Currente Demanda Attention
|
||||
Name[ia]=Fenestra in le scriptorio currente demanda attention
|
||||
Name[id]=Jendela di Desktop Saat Ini Meminta Perhatian
|
||||
Name[is]=Gluggi á öðru skjáborði krefst athygli
|
||||
Name[it]=Finestra sul desktop attuale richiede attenzione
|
||||
|
@ -6517,7 +6517,7 @@ Name[hi]=अन्य डेस्कटॉप का विंडो आपक
|
|||
Name[hne]=दूसरा डेस्कटाप के विंडो ध्यान चाहथे
|
||||
Name[hr]=Prozor na drugoj radnoj površini zahtijeva pažnju
|
||||
Name[hu]=Egy ablak valamelyik nem látszó asztalon beavatkozást igényel
|
||||
Name[ia]=Fenestra in altere Scriptorio demanda attention
|
||||
Name[ia]=Fenestra in altere scriptorio demanda attention
|
||||
Name[id]=Jendela di Desktop Lain Meminta Perhatian
|
||||
Name[is]=Gluggi á öðru skjáborði krefst athygli
|
||||
Name[it]=Finestra su un altro desktop richiede attenzione
|
||||
|
@ -6963,7 +6963,7 @@ Comment[gl]=Algúns efectos non están soportados nin pola infraestrutura nin po
|
|||
Comment[he]=כמה אפקטים אינם נתמכים על ידי המנגנון או החומרה
|
||||
Comment[hr]=Neki efekti nisu podržani od strane hardvera
|
||||
Comment[hu]=Néhány effektust nem támogat a háttérmodul vagy a hardver.
|
||||
Comment[ia]=Alicun effectos non es supportate per retro-parte (backend) o hardware
|
||||
Comment[ia]=Alicun effectos non es supportate per retro-administration o hardware
|
||||
Comment[id]=Beberapa efek tidak didukung oleh ujung belakang atau peranti keras.
|
||||
Comment[is]=Sumt af myndbrellunum eru ekki studdar af bakendanum eða vélbúnaði.
|
||||
Comment[it]=Alcuni effetti non sono supportati dal motore o dall'hardware.
|
||||
|
@ -7022,7 +7022,7 @@ Name[ga]=Tíliú Cumasaithe
|
|||
Name[he]=ריצוף אופשר
|
||||
Name[hi]=टायलिग सक्षम
|
||||
Name[hr]=Slaganje omogućeno
|
||||
Name[ia]=Tegulas Habilitate
|
||||
Name[ia]=Tegulas habilitate
|
||||
Name[id]=Pengubinan Diaktifkan
|
||||
Name[it]=Affiancamento abilitato
|
||||
Name[ja]=タイリングが有効
|
||||
|
@ -7069,7 +7069,7 @@ Comment[fr]=Le mode des fenêtres en mosaïque a été activé.
|
|||
Comment[ga]=Cumasaíodh an mód tílithe
|
||||
Comment[he]=מצב ריצוף אופשר
|
||||
Comment[hr]=Omogućeno je slaganje
|
||||
Comment[ia]=Le modo de tegula ha essite habilitate
|
||||
Comment[ia]=Le modo de tegulas ha essite habilitate
|
||||
Comment[id]=Mode pengubinan telah diaktifkan
|
||||
Comment[it]=La modalità di affiancamento è stata attivata
|
||||
Comment[ja]=タイリングモードが有効になりました
|
||||
|
@ -7167,7 +7167,7 @@ Comment[fr]=Le mode des fenêtres en mosaïque a été désactivé.
|
|||
Comment[ga]=Díchumasaíodh an mód tílithe
|
||||
Comment[he]=מצב ריצוף הופסק
|
||||
Comment[hr]=Popločavanje je onemogućeno
|
||||
Comment[ia]=Le mode de Tegulas ha essite dishabilitate
|
||||
Comment[ia]=Le mode de tegulas ha essite dishabilitate
|
||||
Comment[id]=Tombol pengubinan telah dinonaktifkan
|
||||
Comment[it]=La modalità di affiancamento è stata disattivata
|
||||
Comment[ja]=タイリングモードが無効になりました
|
||||
|
@ -7218,7 +7218,7 @@ Name[ga]=Athraíodh Leagan Amach na dTíleanna
|
|||
Name[he]=פריסת ריצוף שונתה
|
||||
Name[hi]=टायलिंग खाका बदला
|
||||
Name[hr]=Promijenjen je raspored slaganja
|
||||
Name[ia]=Disposition a Tegulas Modificate
|
||||
Name[ia]=Disposition a tegulas modificate
|
||||
Name[id]=Tata Letak Pengubinan Diubah
|
||||
Name[it]=Schema di affiancamento modificato
|
||||
Name[ja]=タイリング配列が変更
|
||||
|
@ -7266,7 +7266,7 @@ Comment[ga]=Athraíodh leagan amach na dtíleanna
|
|||
Comment[he]=פריסת ריצוף שונתה
|
||||
Comment[hi]=टायलिंग खाका बदला गया
|
||||
Comment[hr]=Promijenjen je raspored slaganja
|
||||
Comment[ia]=Le disposition a Tegulas ha essite cambiate
|
||||
Comment[ia]=Le disposition a tegulas ha essite cambiate
|
||||
Comment[id]=Tata Letak Pengubinan telah diubah
|
||||
Comment[it]=Lo schema di affiancamento è stato modificato
|
||||
Comment[ja]=タイリング配列が変更されました
|
||||
|
|
120
kwinbindings.cpp
120
kwinbindings.cpp
|
@ -25,28 +25,35 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
// Some shortcuts have Tarzan-speech like names, they need extra
|
||||
// normal human descriptions with DEF2() the others can use DEF()
|
||||
// new DEF3 allows to pass data to the action, replacing the %1 argument in the name
|
||||
|
||||
#ifndef NOSLOTS
|
||||
# define DEF2( name, descr, key, fnSlot ) \
|
||||
a = actionCollection->addAction( name ); \
|
||||
a->setText( i18n(descr) ); \
|
||||
qobject_cast<KAction*>( a )->setGlobalShortcut(KShortcut(key)); \
|
||||
connect(a, SIGNAL(triggered(bool)), SLOT(fnSlot))
|
||||
# define DEF( name, key, fnSlot ) \
|
||||
a = actionCollection->addAction( name ); \
|
||||
a->setText( i18n(name) ); \
|
||||
qobject_cast<KAction*>( a )->setGlobalShortcut(KShortcut(key)); \
|
||||
connect(a, SIGNAL(triggered(bool)), SLOT(fnSlot))
|
||||
#define KWIN_CONNECT(_FNSLOT_) connect(a, SIGNAL(triggered(bool)), SLOT(_FNSLOT_));
|
||||
#else
|
||||
# define DEF2( name, descr, key, fnSlot ) \
|
||||
a = actionCollection->addAction( name ); \
|
||||
a->setText( i18n(descr) ); \
|
||||
qobject_cast<KAction*>( a )->setGlobalShortcut(KShortcut(key));
|
||||
# define DEF( name, key, fnSlot ) \
|
||||
a = actionCollection->addAction( name ); \
|
||||
a->setText( i18n(name) ); \
|
||||
qobject_cast<KAction*>( a )->setGlobalShortcut(KShortcut(key));
|
||||
#define KWIN_CONNECT(_FNSLOT_) /*noop*/
|
||||
#endif
|
||||
|
||||
#define DEF2( name, descr, key, fnSlot ) \
|
||||
a = actionCollection->addAction( name ); \
|
||||
a->setText( i18n(descr) ); \
|
||||
qobject_cast<KAction*>( a )->setGlobalShortcut(KShortcut(key)); \
|
||||
KWIN_CONNECT(fnSlot)
|
||||
|
||||
#define DEF4( name, descr, key, fnSlot, value ) \
|
||||
DEF2(name, descr, key, fnSlot) \
|
||||
a->setData(value);
|
||||
|
||||
#define DEF( name, key, fnSlot ) \
|
||||
DEF2(name, name, key, fnSlot)
|
||||
|
||||
#define DEF3( name, key, fnSlot, value ) \
|
||||
a = actionCollection->addAction( QString(name).arg(value) ); \
|
||||
a->setText( i18n(name, value) ); \
|
||||
qobject_cast<KAction*>( a )->setGlobalShortcut(KShortcut(key)); \
|
||||
a->setData(value); \
|
||||
KWIN_CONNECT(fnSlot)
|
||||
|
||||
|
||||
a = actionCollection->addAction("Program:kwin");
|
||||
a->setText(i18n("System"));
|
||||
|
||||
|
@ -143,79 +150,44 @@ a = actionCollection->addAction("Group:Window Desktop");
|
|||
a->setText(i18n("Window & Desktop"));
|
||||
DEF2("Window On All Desktops", I18N_NOOP("Keep Window on All Desktops"),
|
||||
0, slotWindowOnAllDesktops());
|
||||
DEF(I18N_NOOP("Window to Desktop 1"), 0, slotWindowToDesktop1());
|
||||
DEF(I18N_NOOP("Window to Desktop 2"), 0, slotWindowToDesktop2());
|
||||
DEF(I18N_NOOP("Window to Desktop 3"), 0, slotWindowToDesktop3());
|
||||
DEF(I18N_NOOP("Window to Desktop 4"), 0, slotWindowToDesktop4());
|
||||
DEF(I18N_NOOP("Window to Desktop 5"), 0, slotWindowToDesktop5());
|
||||
DEF(I18N_NOOP("Window to Desktop 6"), 0, slotWindowToDesktop6());
|
||||
DEF(I18N_NOOP("Window to Desktop 7"), 0, slotWindowToDesktop7());
|
||||
DEF(I18N_NOOP("Window to Desktop 8"), 0, slotWindowToDesktop8());
|
||||
DEF(I18N_NOOP("Window to Desktop 9"), 0, slotWindowToDesktop9());
|
||||
DEF(I18N_NOOP("Window to Desktop 10"), 0, slotWindowToDesktop10());
|
||||
DEF(I18N_NOOP("Window to Desktop 11"), 0, slotWindowToDesktop11());
|
||||
DEF(I18N_NOOP("Window to Desktop 12"), 0, slotWindowToDesktop12());
|
||||
DEF(I18N_NOOP("Window to Desktop 13"), 0, slotWindowToDesktop13());
|
||||
DEF(I18N_NOOP("Window to Desktop 14"), 0, slotWindowToDesktop14());
|
||||
DEF(I18N_NOOP("Window to Desktop 15"), 0, slotWindowToDesktop15());
|
||||
DEF(I18N_NOOP("Window to Desktop 16"), 0, slotWindowToDesktop16());
|
||||
DEF(I18N_NOOP("Window to Desktop 17"), 0, slotWindowToDesktop17());
|
||||
DEF(I18N_NOOP("Window to Desktop 18"), 0, slotWindowToDesktop18());
|
||||
DEF(I18N_NOOP("Window to Desktop 19"), 0, slotWindowToDesktop19());
|
||||
DEF(I18N_NOOP("Window to Desktop 20"), 0, slotWindowToDesktop20());
|
||||
|
||||
for (int i = 1; i < 21; ++i) {
|
||||
DEF3(I18N_NOOP("Window to Desktop %1"), 0, slotWindowToDesktop(), i);
|
||||
}
|
||||
DEF(I18N_NOOP("Window to Next Desktop"), 0, slotWindowToNextDesktop());
|
||||
DEF(I18N_NOOP("Window to Previous Desktop"), 0, slotWindowToPreviousDesktop());
|
||||
DEF(I18N_NOOP("Window One Desktop to the Right"), 0, slotWindowToDesktopRight());
|
||||
DEF(I18N_NOOP("Window One Desktop to the Left"), 0, slotWindowToDesktopLeft());
|
||||
DEF(I18N_NOOP("Window One Desktop Up"), 0, slotWindowToDesktopUp());
|
||||
DEF(I18N_NOOP("Window One Desktop Down"), 0, slotWindowToDesktopDown());
|
||||
DEF(I18N_NOOP("Window to Screen 0"), 0, slotWindowToScreen0());
|
||||
DEF(I18N_NOOP("Window to Screen 1"), 0, slotWindowToScreen1());
|
||||
DEF(I18N_NOOP("Window to Screen 2"), 0, slotWindowToScreen2());
|
||||
DEF(I18N_NOOP("Window to Screen 3"), 0, slotWindowToScreen3());
|
||||
DEF(I18N_NOOP("Window to Screen 4"), 0, slotWindowToScreen4());
|
||||
DEF(I18N_NOOP("Window to Screen 5"), 0, slotWindowToScreen5());
|
||||
DEF(I18N_NOOP("Window to Screen 6"), 0, slotWindowToScreen6());
|
||||
DEF(I18N_NOOP("Window to Screen 7"), 0, slotWindowToScreen7());
|
||||
|
||||
for (int i = 0; i < 8; ++i) {
|
||||
DEF3(I18N_NOOP("Window to Screen %1"), 0, slotWindowToScreen(), i);
|
||||
}
|
||||
DEF(I18N_NOOP("Window to Next Screen"), 0, slotWindowToNextScreen());
|
||||
DEF(I18N_NOOP("Show Desktop"), 0, slotToggleShowDesktop());
|
||||
|
||||
a = actionCollection->addAction("Group:Desktop Switching");
|
||||
a->setText(i18n("Desktop Switching"));
|
||||
DEF(I18N_NOOP("Switch to Desktop 1"), Qt::CTRL + Qt::Key_F1, slotSwitchToDesktop1());
|
||||
DEF(I18N_NOOP("Switch to Desktop 2"), Qt::CTRL + Qt::Key_F2, slotSwitchToDesktop2());
|
||||
DEF(I18N_NOOP("Switch to Desktop 3"), Qt::CTRL + Qt::Key_F3, slotSwitchToDesktop3());
|
||||
DEF(I18N_NOOP("Switch to Desktop 4"), Qt::CTRL + Qt::Key_F4, slotSwitchToDesktop4());
|
||||
DEF(I18N_NOOP("Switch to Desktop 5"), 0, slotSwitchToDesktop5());
|
||||
DEF(I18N_NOOP("Switch to Desktop 6"), 0, slotSwitchToDesktop6());
|
||||
DEF(I18N_NOOP("Switch to Desktop 7"), 0, slotSwitchToDesktop7());
|
||||
DEF(I18N_NOOP("Switch to Desktop 8"), 0, slotSwitchToDesktop8());
|
||||
DEF(I18N_NOOP("Switch to Desktop 9"), 0, slotSwitchToDesktop9());
|
||||
DEF(I18N_NOOP("Switch to Desktop 10"), 0, slotSwitchToDesktop10());
|
||||
DEF(I18N_NOOP("Switch to Desktop 11"), 0, slotSwitchToDesktop11());
|
||||
DEF(I18N_NOOP("Switch to Desktop 12"), 0, slotSwitchToDesktop12());
|
||||
DEF(I18N_NOOP("Switch to Desktop 13"), 0, slotSwitchToDesktop13());
|
||||
DEF(I18N_NOOP("Switch to Desktop 14"), 0, slotSwitchToDesktop14());
|
||||
DEF(I18N_NOOP("Switch to Desktop 15"), 0, slotSwitchToDesktop15());
|
||||
DEF(I18N_NOOP("Switch to Desktop 16"), 0, slotSwitchToDesktop16());
|
||||
DEF(I18N_NOOP("Switch to Desktop 17"), 0, slotSwitchToDesktop17());
|
||||
DEF(I18N_NOOP("Switch to Desktop 18"), 0, slotSwitchToDesktop18());
|
||||
DEF(I18N_NOOP("Switch to Desktop 19"), 0, slotSwitchToDesktop19());
|
||||
DEF(I18N_NOOP("Switch to Desktop 20"), 0, slotSwitchToDesktop20());
|
||||
DEF3("Switch to Desktop %1", Qt::CTRL + Qt::Key_F1, slotSwitchToDesktop(), 1);
|
||||
DEF3("Switch to Desktop %1", Qt::CTRL + Qt::Key_F2, slotSwitchToDesktop(), 2);
|
||||
DEF3("Switch to Desktop %1", Qt::CTRL + Qt::Key_F3, slotSwitchToDesktop(), 3);
|
||||
DEF3("Switch to Desktop %1", Qt::CTRL + Qt::Key_F4, slotSwitchToDesktop(), 4);
|
||||
for (int i = 5; i < 21; ++i) {
|
||||
DEF3(I18N_NOOP("Switch to Desktop %1"), 0, slotSwitchToDesktop(), i);
|
||||
}
|
||||
|
||||
DEF(I18N_NOOP("Switch to Next Desktop"), 0, slotSwitchDesktopNext());
|
||||
DEF(I18N_NOOP("Switch to Previous Desktop"), 0, slotSwitchDesktopPrevious());
|
||||
DEF(I18N_NOOP("Switch One Desktop to the Right"), 0, slotSwitchDesktopRight());
|
||||
DEF(I18N_NOOP("Switch One Desktop to the Left"), 0, slotSwitchDesktopLeft());
|
||||
DEF(I18N_NOOP("Switch One Desktop Up"), 0, slotSwitchDesktopUp());
|
||||
DEF(I18N_NOOP("Switch One Desktop Down"), 0, slotSwitchDesktopDown());
|
||||
DEF(I18N_NOOP("Switch to Screen 0"), 0, slotSwitchToScreen0());
|
||||
DEF(I18N_NOOP("Switch to Screen 1"), 0, slotSwitchToScreen1());
|
||||
DEF(I18N_NOOP("Switch to Screen 2"), 0, slotSwitchToScreen2());
|
||||
DEF(I18N_NOOP("Switch to Screen 3"), 0, slotSwitchToScreen3());
|
||||
DEF(I18N_NOOP("Switch to Screen 4"), 0, slotSwitchToScreen4());
|
||||
DEF(I18N_NOOP("Switch to Screen 5"), 0, slotSwitchToScreen5());
|
||||
DEF(I18N_NOOP("Switch to Screen 6"), 0, slotSwitchToScreen6());
|
||||
DEF(I18N_NOOP("Switch to Screen 7"), 0, slotSwitchToScreen7());
|
||||
|
||||
for (int i = 0; i < 8; ++i) {
|
||||
DEF3(I18N_NOOP("Switch to Screen %1"), 0, slotSwitchToScreen(), i);
|
||||
}
|
||||
|
||||
DEF(I18N_NOOP("Switch to Next Screen"), 0, slotSwitchToNextScreen());
|
||||
|
||||
a = actionCollection->addAction("Group:Miscellaneous");
|
||||
|
|
|
@ -591,6 +591,8 @@ bool Client::manage(Window w, bool isMapped)
|
|||
workspace()->discardUsedWindowRules(this, false); // Remove ApplyNow rules
|
||||
updateWindowRules(); // Was blocked while !isManaged()
|
||||
|
||||
updateCompositeBlocking(true);
|
||||
|
||||
// TODO: there's a small problem here - isManaged() depends on the mapping state,
|
||||
// but this client is not yet in Workspace's client list at this point, will
|
||||
// be only done in addClient()
|
||||
|
|
|
@ -66,6 +66,7 @@ Rules::Rules()
|
|||
, belowrule(UnusedSetRule)
|
||||
, fullscreenrule(UnusedSetRule)
|
||||
, noborderrule(UnusedSetRule)
|
||||
, blockcompositingrule(UnusedForceRule)
|
||||
, fsplevelrule(UnusedForceRule)
|
||||
, acceptfocusrule(UnusedForceRule)
|
||||
, moveresizemoderule(UnusedForceRule)
|
||||
|
@ -173,6 +174,7 @@ void Rules::readFromCfg(const KConfigGroup& cfg)
|
|||
READ_SET_RULE(below, , false);
|
||||
READ_SET_RULE(fullscreen, , false);
|
||||
READ_SET_RULE(noborder, , false);
|
||||
READ_FORCE_RULE(blockcompositing, , false);
|
||||
READ_FORCE_RULE(fsplevel, limit0to4, 0); // fsp is 0-4
|
||||
READ_FORCE_RULE(acceptfocus, , false);
|
||||
READ_FORCE_RULE(moveresizemode, Options::stringToMoveResizeMode, QString());
|
||||
|
@ -262,6 +264,7 @@ void Rules::write(KConfigGroup& cfg) const
|
|||
WRITE_SET_RULE(below,);
|
||||
WRITE_SET_RULE(fullscreen,);
|
||||
WRITE_SET_RULE(noborder,);
|
||||
WRITE_FORCE_RULE(blockcompositing,);
|
||||
WRITE_FORCE_RULE(fsplevel,);
|
||||
WRITE_FORCE_RULE(acceptfocus,);
|
||||
WRITE_FORCE_RULE(moveresizemode, Options::moveResizeModeToString);
|
||||
|
@ -303,6 +306,7 @@ bool Rules::isEmpty() const
|
|||
&& belowrule == UnusedSetRule
|
||||
&& fullscreenrule == UnusedSetRule
|
||||
&& noborderrule == UnusedSetRule
|
||||
&& blockcompositingrule == UnusedForceRule
|
||||
&& fsplevelrule == UnusedForceRule
|
||||
&& acceptfocusrule == UnusedForceRule
|
||||
&& moveresizemoderule == UnusedForceRule
|
||||
|
@ -612,6 +616,7 @@ APPLY_RULE(above, KeepAbove, bool)
|
|||
APPLY_RULE(below, KeepBelow, bool)
|
||||
APPLY_RULE(fullscreen, FullScreen, bool)
|
||||
APPLY_RULE(noborder, NoBorder, bool)
|
||||
APPLY_FORCE_RULE(blockcompositing, BlockCompositing, bool)
|
||||
APPLY_FORCE_RULE(fsplevel, FSP, int)
|
||||
APPLY_FORCE_RULE(acceptfocus, AcceptFocus, bool)
|
||||
APPLY_FORCE_RULE(moveresizemode, MoveResizeMode, Options::MoveResizeMode)
|
||||
|
@ -678,6 +683,7 @@ void Rules::discardUsed(bool withdrawn)
|
|||
DISCARD_USED_SET_RULE(below);
|
||||
DISCARD_USED_SET_RULE(fullscreen);
|
||||
DISCARD_USED_SET_RULE(noborder);
|
||||
DISCARD_USED_FORCE_RULE(blockcompositing);
|
||||
DISCARD_USED_FORCE_RULE(fsplevel);
|
||||
DISCARD_USED_FORCE_RULE(acceptfocus);
|
||||
DISCARD_USED_FORCE_RULE(moveresizemode);
|
||||
|
@ -801,6 +807,7 @@ CHECK_RULE(KeepAbove, bool)
|
|||
CHECK_RULE(KeepBelow, bool)
|
||||
CHECK_RULE(FullScreen, bool)
|
||||
CHECK_RULE(NoBorder, bool)
|
||||
CHECK_FORCE_RULE(BlockCompositing, bool)
|
||||
CHECK_FORCE_RULE(FSP, int)
|
||||
CHECK_FORCE_RULE(AcceptFocus, bool)
|
||||
CHECK_FORCE_RULE(MoveResizeMode, Options::MoveResizeMode)
|
||||
|
|
4
rules.h
4
rules.h
|
@ -75,6 +75,7 @@ public:
|
|||
bool checkKeepBelow(bool below, bool init = false) const;
|
||||
bool checkFullScreen(bool fs, bool init = false) const;
|
||||
bool checkNoBorder(bool noborder, bool init = false) const;
|
||||
bool checkBlockCompositing(bool block) const;
|
||||
int checkFSP(int fsp) const;
|
||||
bool checkAcceptFocus(bool focus) const;
|
||||
Options::MoveResizeMode checkMoveResizeMode(Options::MoveResizeMode mode) const;
|
||||
|
@ -132,6 +133,7 @@ public:
|
|||
bool applyKeepBelow(bool& below, bool init) const;
|
||||
bool applyFullScreen(bool& fs, bool init) const;
|
||||
bool applyNoBorder(bool& noborder, bool init) const;
|
||||
bool applyBlockCompositing(bool& block) const;
|
||||
bool applyFSP(int& fsp) const;
|
||||
bool applyAcceptFocus(bool& focus) const;
|
||||
bool applyMoveResizeMode(Options::MoveResizeMode& mode) const;
|
||||
|
@ -244,6 +246,8 @@ private:
|
|||
SetRule fullscreenrule;
|
||||
bool noborder;
|
||||
SetRule noborderrule;
|
||||
bool blockcompositing;
|
||||
ForceRule blockcompositingrule;
|
||||
int fsplevel;
|
||||
ForceRule fsplevelrule;
|
||||
bool acceptfocus;
|
||||
|
|
|
@ -1166,14 +1166,30 @@ void Workspace::slotSwitchDesktopDown()
|
|||
setCurrentDesktop(desktop);
|
||||
}
|
||||
|
||||
void Workspace::slotSwitchToDesktop(int i)
|
||||
static int senderValue(QObject *sender)
|
||||
{
|
||||
setCurrentDesktop(i);
|
||||
QAction *act = qobject_cast<QAction*>(sender);
|
||||
bool ok = false; int i = -1;
|
||||
if (act)
|
||||
i = act->data().toUInt(&ok);
|
||||
if (ok)
|
||||
return i;
|
||||
return -1;
|
||||
}
|
||||
|
||||
void Workspace::slotSwitchToDesktop()
|
||||
{
|
||||
const int i = senderValue(sender());
|
||||
if (i > 0)
|
||||
setCurrentDesktop(i);
|
||||
}
|
||||
|
||||
|
||||
void Workspace::slotWindowToDesktop(int i)
|
||||
void Workspace::slotWindowToDesktop()
|
||||
{
|
||||
const int i = senderValue(sender());
|
||||
if (i < 1)
|
||||
return;
|
||||
Client* c = active_popup_client ? active_popup_client : active_client;
|
||||
if (i >= 1 && i <= numberOfDesktops() && c
|
||||
&& !c->isDesktop()
|
||||
|
@ -1182,18 +1198,23 @@ void Workspace::slotWindowToDesktop(int i)
|
|||
sendClientToDesktop(c, i, true);
|
||||
}
|
||||
|
||||
void Workspace::slotSwitchToScreen(int i)
|
||||
void Workspace::slotSwitchToScreen()
|
||||
{
|
||||
setCurrentScreen(i);
|
||||
const int i = senderValue(sender());
|
||||
if (i > -1)
|
||||
setCurrentScreen(i);
|
||||
}
|
||||
|
||||
void Workspace::slotSwitchToNextScreen()
|
||||
{
|
||||
slotSwitchToScreen((activeScreen() + 1) % numScreens());
|
||||
setCurrentScreen((activeScreen() + 1) % numScreens());
|
||||
}
|
||||
|
||||
void Workspace::slotWindowToScreen(int i)
|
||||
void Workspace::slotWindowToScreen()
|
||||
{
|
||||
const int i = senderValue(sender());
|
||||
if (i < 0)
|
||||
return;
|
||||
Client* c = active_popup_client ? active_popup_client : active_client;
|
||||
if (i >= 0 && i <= numScreens() && c
|
||||
&& !c->isDesktop()
|
||||
|
|
|
@ -151,6 +151,7 @@ Workspace::Workspace(bool restore)
|
|||
, forced_global_mouse_grab(false)
|
||||
, cm_selection(NULL)
|
||||
, compositingSuspended(false)
|
||||
, compositingBlocked(false)
|
||||
, xrrRefreshRate(0)
|
||||
, overlay(None)
|
||||
, overlay_visible(true)
|
||||
|
@ -702,6 +703,8 @@ void Workspace::removeClient(Client* c, allowed_t)
|
|||
|
||||
updateStackingOrder(true);
|
||||
|
||||
updateCompositeBlocking();
|
||||
|
||||
if (tab_grab)
|
||||
tab_box->reset(true);
|
||||
|
||||
|
@ -1170,20 +1173,8 @@ void Workspace::loadDesktopSettings()
|
|||
else
|
||||
groupname.sprintf("Desktops-screen-%d", screen_number);
|
||||
KConfigGroup group(c, groupname);
|
||||
|
||||
int n = group.readEntry("Number", 4);
|
||||
desktopCount_ = n;
|
||||
workarea.clear();
|
||||
workarea.resize(n + 1);
|
||||
restrictedmovearea.clear();
|
||||
restrictedmovearea.resize(n + 1);
|
||||
oldrestrictedmovearea.clear();
|
||||
oldrestrictedmovearea.resize(n + 1);
|
||||
screenarea.clear();
|
||||
rootInfo->setNumberOfDesktops(n);
|
||||
desktop_focus_chain.resize(n);
|
||||
// Make it +1, so that it can be accessed as [1..numberofdesktops]
|
||||
focus_chain.resize(n + 1);
|
||||
const int n = group.readEntry("Number", 4);
|
||||
setNumberOfDesktops(n);
|
||||
for (int i = 1; i <= n; i++) {
|
||||
QString s = group.readEntry(QString("Name_%1").arg(i), i18n("Desktop %1", i));
|
||||
rootInfo->setDesktopName(i, s.toUtf8().data());
|
||||
|
@ -1643,40 +1634,33 @@ void Workspace::setNumberOfDesktops(int n)
|
|||
desktopCount_ = n;
|
||||
updateDesktopLayout(); // Make sure the layout is still valid
|
||||
|
||||
if (currentDesktop() > numberOfDesktops())
|
||||
setCurrentDesktop(numberOfDesktops());
|
||||
if (currentDesktop() > n)
|
||||
setCurrentDesktop(n);
|
||||
|
||||
// If increasing the number, do the resizing now, otherwise
|
||||
// after the moving of windows to still existing desktops
|
||||
if (old_number_of_desktops < numberOfDesktops()) {
|
||||
rootInfo->setNumberOfDesktops(numberOfDesktops());
|
||||
NETPoint* viewports = new NETPoint[numberOfDesktops()];
|
||||
rootInfo->setDesktopViewport(numberOfDesktops(), *viewports);
|
||||
delete[] viewports;
|
||||
updateClientArea(true);
|
||||
focus_chain.resize(numberOfDesktops() + 1);
|
||||
}
|
||||
|
||||
// If the number of desktops decreased, move all windows
|
||||
// that would be hidden to the last visible desktop
|
||||
// move all windows that would be hidden to the last visible desktop
|
||||
if (old_number_of_desktops > numberOfDesktops()) {
|
||||
for (ClientList::ConstIterator it = clients.constBegin();
|
||||
it != clients.constEnd();
|
||||
++it)
|
||||
for (ClientList::ConstIterator it = clients.constBegin(); it != clients.constEnd(); ++it) {
|
||||
if (!(*it)->isOnAllDesktops() && (*it)->desktop() > numberOfDesktops())
|
||||
sendClientToDesktop(*it, numberOfDesktops(), true);
|
||||
// TODO: Tile should have a method allClients, push them into other tiles
|
||||
}
|
||||
if (old_number_of_desktops > numberOfDesktops()) {
|
||||
rootInfo->setNumberOfDesktops(numberOfDesktops());
|
||||
NETPoint* viewports = new NETPoint[numberOfDesktops()];
|
||||
rootInfo->setDesktopViewport(numberOfDesktops(), *viewports);
|
||||
delete[] viewports;
|
||||
updateClientArea(true);
|
||||
focus_chain.resize(numberOfDesktops() + 1);
|
||||
// TODO: Tile should have a method allClients, push them into other tiles
|
||||
}
|
||||
}
|
||||
rootInfo->setNumberOfDesktops(n);
|
||||
NETPoint* viewports = new NETPoint[n];
|
||||
rootInfo->setDesktopViewport(n, *viewports);
|
||||
delete[] viewports;
|
||||
updateClientArea(true);
|
||||
|
||||
saveDesktopSettings();
|
||||
// Make it +1, so that it can be accessed as [1..numberofdesktops]
|
||||
focus_chain.resize(n + 1);
|
||||
|
||||
workarea.clear();
|
||||
workarea.resize(n + 1);
|
||||
restrictedmovearea.clear();
|
||||
restrictedmovearea.resize(n + 1);
|
||||
oldrestrictedmovearea.clear();
|
||||
oldrestrictedmovearea.resize(n + 1);
|
||||
screenarea.clear();
|
||||
|
||||
// Resize and reset the desktop focus chain.
|
||||
desktop_focus_chain.resize(n);
|
||||
|
@ -1687,6 +1671,8 @@ void Workspace::setNumberOfDesktops(int n)
|
|||
|
||||
// reset the desktop change osd
|
||||
desktop_change_osd->numberDesktopsChanged();
|
||||
|
||||
saveDesktopSettings();
|
||||
emit numberDesktopsChanged(old_number_of_desktops);
|
||||
}
|
||||
|
||||
|
@ -1697,6 +1683,8 @@ void Workspace::setNumberOfDesktops(int n)
|
|||
*/
|
||||
void Workspace::sendClientToDesktop(Client* c, int desk, bool dont_activate)
|
||||
{
|
||||
if (desk < 1 || desk > numberOfDesktops())
|
||||
return;
|
||||
int old_desktop = c->desktop();
|
||||
bool was_on_desktop = c->isOnDesktop(desk) || c->isOnAllDesktops();
|
||||
c->setDesktop(desk);
|
||||
|
|
180
workspace.h
180
workspace.h
|
@ -404,6 +404,7 @@ public:
|
|||
void toggleEffect(const QString& name);
|
||||
void reconfigureEffect(const QString& name);
|
||||
void unloadEffect(const QString& name);
|
||||
void updateCompositeBlocking(Client* c = NULL);
|
||||
|
||||
QStringList loadedEffects() const;
|
||||
QStringList listOfEffects() const;
|
||||
|
@ -563,180 +564,13 @@ public slots:
|
|||
void slotSwitchDesktopUp();
|
||||
void slotSwitchDesktopDown();
|
||||
|
||||
void slotSwitchToDesktop(int);
|
||||
void slotSwitchToDesktop1() {
|
||||
return slotSwitchToDesktop(1);
|
||||
}
|
||||
void slotSwitchToDesktop2() {
|
||||
return slotSwitchToDesktop(2);
|
||||
}
|
||||
void slotSwitchToDesktop3() {
|
||||
return slotSwitchToDesktop(3);
|
||||
}
|
||||
void slotSwitchToDesktop4() {
|
||||
return slotSwitchToDesktop(4);
|
||||
}
|
||||
void slotSwitchToDesktop5() {
|
||||
return slotSwitchToDesktop(5);
|
||||
}
|
||||
void slotSwitchToDesktop6() {
|
||||
return slotSwitchToDesktop(6);
|
||||
}
|
||||
void slotSwitchToDesktop7() {
|
||||
return slotSwitchToDesktop(7);
|
||||
}
|
||||
void slotSwitchToDesktop8() {
|
||||
return slotSwitchToDesktop(8);
|
||||
}
|
||||
void slotSwitchToDesktop9() {
|
||||
return slotSwitchToDesktop(9);
|
||||
}
|
||||
void slotSwitchToDesktop10() {
|
||||
return slotSwitchToDesktop(10);
|
||||
}
|
||||
void slotSwitchToDesktop11() {
|
||||
return slotSwitchToDesktop(11);
|
||||
}
|
||||
void slotSwitchToDesktop12() {
|
||||
return slotSwitchToDesktop(12);
|
||||
}
|
||||
void slotSwitchToDesktop13() {
|
||||
return slotSwitchToDesktop(13);
|
||||
}
|
||||
void slotSwitchToDesktop14() {
|
||||
return slotSwitchToDesktop(14);
|
||||
}
|
||||
void slotSwitchToDesktop15() {
|
||||
return slotSwitchToDesktop(15);
|
||||
}
|
||||
void slotSwitchToDesktop16() {
|
||||
return slotSwitchToDesktop(16);
|
||||
}
|
||||
void slotSwitchToDesktop17() {
|
||||
return slotSwitchToDesktop(17);
|
||||
}
|
||||
void slotSwitchToDesktop18() {
|
||||
return slotSwitchToDesktop(18);
|
||||
}
|
||||
void slotSwitchToDesktop19() {
|
||||
return slotSwitchToDesktop(19);
|
||||
}
|
||||
void slotSwitchToDesktop20() {
|
||||
return slotSwitchToDesktop(20);
|
||||
}
|
||||
void slotSwitchToDesktop();
|
||||
//void slotSwitchToWindow( int );
|
||||
void slotWindowToDesktop(int);
|
||||
void slotWindowToDesktop1() {
|
||||
return slotWindowToDesktop(1);
|
||||
}
|
||||
void slotWindowToDesktop2() {
|
||||
return slotWindowToDesktop(2);
|
||||
}
|
||||
void slotWindowToDesktop3() {
|
||||
return slotWindowToDesktop(3);
|
||||
}
|
||||
void slotWindowToDesktop4() {
|
||||
return slotWindowToDesktop(4);
|
||||
}
|
||||
void slotWindowToDesktop5() {
|
||||
return slotWindowToDesktop(5);
|
||||
}
|
||||
void slotWindowToDesktop6() {
|
||||
return slotWindowToDesktop(6);
|
||||
}
|
||||
void slotWindowToDesktop7() {
|
||||
return slotWindowToDesktop(7);
|
||||
}
|
||||
void slotWindowToDesktop8() {
|
||||
return slotWindowToDesktop(8);
|
||||
}
|
||||
void slotWindowToDesktop9() {
|
||||
return slotWindowToDesktop(9);
|
||||
}
|
||||
void slotWindowToDesktop10() {
|
||||
return slotWindowToDesktop(10);
|
||||
}
|
||||
void slotWindowToDesktop11() {
|
||||
return slotWindowToDesktop(11);
|
||||
}
|
||||
void slotWindowToDesktop12() {
|
||||
return slotWindowToDesktop(12);
|
||||
}
|
||||
void slotWindowToDesktop13() {
|
||||
return slotWindowToDesktop(13);
|
||||
}
|
||||
void slotWindowToDesktop14() {
|
||||
return slotWindowToDesktop(14);
|
||||
}
|
||||
void slotWindowToDesktop15() {
|
||||
return slotWindowToDesktop(15);
|
||||
}
|
||||
void slotWindowToDesktop16() {
|
||||
return slotWindowToDesktop(16);
|
||||
}
|
||||
void slotWindowToDesktop17() {
|
||||
return slotWindowToDesktop(17);
|
||||
}
|
||||
void slotWindowToDesktop18() {
|
||||
return slotWindowToDesktop(18);
|
||||
}
|
||||
void slotWindowToDesktop19() {
|
||||
return slotWindowToDesktop(19);
|
||||
}
|
||||
void slotWindowToDesktop20() {
|
||||
return slotWindowToDesktop(20);
|
||||
}
|
||||
void slotWindowToDesktop();
|
||||
|
||||
//void slotWindowToListPosition( int );
|
||||
void slotSwitchToScreen(int);
|
||||
void slotSwitchToScreen0() {
|
||||
return slotSwitchToScreen(0);
|
||||
}
|
||||
void slotSwitchToScreen1() {
|
||||
return slotSwitchToScreen(1);
|
||||
}
|
||||
void slotSwitchToScreen2() {
|
||||
return slotSwitchToScreen(2);
|
||||
}
|
||||
void slotSwitchToScreen3() {
|
||||
return slotSwitchToScreen(3);
|
||||
}
|
||||
void slotSwitchToScreen4() {
|
||||
return slotSwitchToScreen(4);
|
||||
}
|
||||
void slotSwitchToScreen5() {
|
||||
return slotSwitchToScreen(5);
|
||||
}
|
||||
void slotSwitchToScreen6() {
|
||||
return slotSwitchToScreen(6);
|
||||
}
|
||||
void slotSwitchToScreen7() {
|
||||
return slotSwitchToScreen(7);
|
||||
}
|
||||
void slotWindowToScreen(int);
|
||||
void slotWindowToScreen0() {
|
||||
return slotWindowToScreen(0);
|
||||
}
|
||||
void slotWindowToScreen1() {
|
||||
return slotWindowToScreen(1);
|
||||
}
|
||||
void slotWindowToScreen2() {
|
||||
return slotWindowToScreen(2);
|
||||
}
|
||||
void slotWindowToScreen3() {
|
||||
return slotWindowToScreen(3);
|
||||
}
|
||||
void slotWindowToScreen4() {
|
||||
return slotWindowToScreen(4);
|
||||
}
|
||||
void slotWindowToScreen5() {
|
||||
return slotWindowToScreen(5);
|
||||
}
|
||||
void slotWindowToScreen6() {
|
||||
return slotWindowToScreen(6);
|
||||
}
|
||||
void slotWindowToScreen7() {
|
||||
return slotWindowToScreen(7);
|
||||
}
|
||||
void slotSwitchToScreen();
|
||||
void slotWindowToScreen();
|
||||
void slotSwitchToNextScreen();
|
||||
void slotWindowToNextScreen();
|
||||
void slotToggleShowDesktop();
|
||||
|
@ -1183,7 +1017,7 @@ private:
|
|||
friend class StackingUpdatesBlocker;
|
||||
|
||||
KSelectionOwner* cm_selection;
|
||||
bool compositingSuspended;
|
||||
bool compositingSuspended, compositingBlocked;
|
||||
QBasicTimer compositeTimer;
|
||||
qint64 nextPaintReference;
|
||||
QTimer mousePollingTimer;
|
||||
|
|
Loading…
Reference in a new issue