Shortcut for temporarily suspending compositing. Useful when

one wants to run something graphically intensive like a game
or when compositing goes awry and one wants to see the checkbox
that turns it off.
FEATURE: 155581


svn path=/trunk/KDE/kdebase/workspace/; revision=810031
This commit is contained in:
Luboš Luňák 2008-05-19 21:48:47 +00:00
parent fb1827d124
commit ed2d087f9b
4 changed files with 18 additions and 1 deletions

View file

@ -87,6 +87,11 @@ void Workspace::setupCompositing()
kDebug( 1212 ) << "Compositing is turned off in options";
return;
}
else if( compositingSuspended )
{
kDebug( 1212 ) << "Compositing is suspended";
return;
}
else if( !CompositingPrefs::compositingPossible() )
{
kError( 1212 ) << "Compositing is not possible";
@ -257,6 +262,14 @@ void Workspace::lostCMSelection()
finishCompositing();
}
// for the shortcut
void Workspace::slotToggleCompositing()
{
compositingSuspended = !compositingSuspended;
finishCompositing();
setupCompositing(); // will do nothing if suspended
}
void Workspace::addRepaint( int x, int y, int w, int h )
{
if( !compositing())

View file

@ -195,6 +195,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
DEF( I18N_NOOP("Window Screenshot to Clipboard"), Qt::ALT+Qt::Key_Print, slotGrabWindow() );
DEF( I18N_NOOP("Desktop Screenshot to Clipboard"), Qt::CTRL+Qt::Key_Print, slotGrabDesktop() );
DEF( I18N_NOOP("Block Global Shortcuts"), 0, slotDisableGlobalShortcuts());
DEF( I18N_NOOP("Suspend Compositing"), Qt::SHIFT+Qt::ALT+Qt::Key_F12, slotToggleCompositing());
#undef DEF
#undef DEF2

View file

@ -134,6 +134,7 @@ Workspace::Workspace( bool restore )
block_stacking_updates( 0 ),
forced_global_mouse_grab( false ),
cm_selection( NULL ),
compositingSuspended( false ),
compositeRate( 0 ),
overlay( None ),
overlay_visible( true ),
@ -1034,7 +1035,7 @@ void Workspace::slotReconfigure()
updateCurrentTopMenu();
}
if( options->useCompositing )
if( options->useCompositing && !compositingSuspended )
{
setupCompositing();
if( effects ) // setupCompositing() may fail

View file

@ -456,6 +456,7 @@ class Workspace : public QObject, public KDecorationDefines
void slotSetupWindowShortcut();
void setupWindowShortcutDone( bool );
void slotToggleCompositing();
void updateClientArea();
@ -718,6 +719,7 @@ class Workspace : public QObject, public KDecorationDefines
friend class StackingUpdatesBlocker;
KSelectionOwner* cm_selection;
bool compositingSuspended;
QTimer compositeTimer;
QTime lastCompositePaint;
int compositeRate;