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
atoms.cppatoms.hclient.cppclient.hevents.cppkwin.notifyrckwinbindings.cppmanage.cpprules.cpprules.huseractions.cppworkspace.cppworkspace.h
clients/tabstrip
composite.cppdata
effects
_test
drunken.desktopflame.desktopgears.desktophowto.desktop
kicker
slidetabs
swiveltabs
test_thumbnail.desktopvideorecord.desktopvideorecord_config.desktopblur
boxswitch
coverswitch
cube
dashboard
desktopgrid
dialogparent
dimscreen
fadedesktop
fallapart
flipswitch
glide
highlightwindow
login
magiclamp
magnifier
minimizeanimation
mousemark
presentwindows
resize
screenshot
showpaint
slidingpopups
startupfeedback
taskbarthumbnail
trackmouse
windowgeometry
kcmkwin
kwindesktop
kwinoptions
kwinrules
kwinscreenedges
kwintabbox
|
@ -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