diff options
Diffstat (limited to 'twin/workspace.h')
-rw-r--r-- | twin/workspace.h | 84 |
1 files changed, 48 insertions, 36 deletions
diff --git a/twin/workspace.h b/twin/workspace.h index e88e68c85..17ef0c0b3 100644 --- a/twin/workspace.h +++ b/twin/workspace.h @@ -72,9 +72,9 @@ typedef TQValueList<SystemTrayWindow> SystemTrayWindowList; class Workspace : public TQObject, public KWinInterface, public KDecorationDefines { - Q_OBJECT + TQ_OBJECT public: - Workspace( bool restore = FALSE ); + Workspace( bool restore = false ); virtual ~Workspace(); static Workspace * self() { return _self; } @@ -119,8 +119,8 @@ class Workspace : public TQObject, public KWinInterface, public KDecorationDefin // stealing prevention code. Client* mostRecentlyActivatedClient() const; - void activateClient( Client*, bool force = FALSE ); - void requestFocus( Client* c, bool force = FALSE ); + void activateClient( Client*, bool force = false ); + void requestFocus( Client* c, bool force = false ); void takeActivity( Client* c, int flags, bool handled ); // flags are ActivityFlags void handleTakeActivity( Client* c, Time timestamp, int flags ); // flags are ActivityFlags bool allowClientActivation( const Client* c, Time time = -1U, bool focus_in = false ); @@ -156,7 +156,10 @@ class Workspace : public TQObject, public KWinInterface, public KDecorationDefin void clientHidden( Client* ); void clientAttentionChanged( Client* c, bool set ); - void clientMoved(const TQPoint &pos, Time time); + void checkActiveBorder(const TQPoint &pos, Time time); + void reserveActiveBorder(ActiveBorder border); + void unreserveActiveBorder(ActiveBorder border); + void reserveActiveBorderSwitching(bool reserve); /** * Returns the current virtual desktop of this workspace @@ -167,7 +170,7 @@ class Workspace : public TQObject, public KWinInterface, public KDecorationDefin */ int numberOfDesktops() const; void setNumberOfDesktops( int n ); - + int activeScreen() const; int numScreens() const; void checkActiveScreen( const Client* c ); @@ -201,8 +204,13 @@ class Workspace : public TQObject, public KWinInterface, public KDecorationDefin void windowToNextDesktop( Client* c ); void sendClientToScreen( Client* c, int screen ); - // KDE4 remove me - and it's also in the DCOP interface :( void showWindowMenuAt( unsigned long id, int x, int y ); + void showWindowMenu( unsigned long id ); + + void tileWindowToBorder(unsigned long w1, int location); + void tileTwoWindowsHorizontally(unsigned long w1, unsigned long w2); + void tileTwoWindowsVertically(unsigned long w1, unsigned long w2); + void tileFourWindowsInGrid(unsigned long w1, unsigned long w2, unsigned long w3, unsigned long w4); void kDestopResized(); /** @@ -254,7 +262,7 @@ class Workspace : public TQObject, public KWinInterface, public KDecorationDefin void sendPingToWindow( Window w, Time timestamp ); // called from Client::pingWindow() void sendTakeActivity( Client* c, Time timestamp, long flags ); // called from Client::takeActivity() - + bool kompmgrIsRunning(); void setOpacity(unsigned long winId, unsigned int opacityPercent); void setShadowSize(unsigned long winId, unsigned int shadowSizePercent); @@ -273,7 +281,7 @@ class Workspace : public TQObject, public KWinInterface, public KDecorationDefin void focusToNull(); // SELI public? enum FocusChainChange { FocusChainMakeFirst, FocusChainMakeLast, FocusChainUpdate }; void updateFocusChains( Client* c, FocusChainChange change ); - + bool forcedGlobalMouseGrab() const; void clientShortcutUpdated( Client* c ); bool shortcutAvailable( const TDEShortcut& cut, Client* ignore = NULL ) const; @@ -302,7 +310,7 @@ class Workspace : public TQObject, public KWinInterface, public KDecorationDefin void requestDelayFocus( Client* ); void updateFocusMousePosition( const TQPoint& pos ); TQPoint focusMousePosition() const; - + void toggleTopDockShadows(bool on); public slots: @@ -387,7 +395,7 @@ class Workspace : public TQObject, public KWinInterface, public KDecorationDefin void setupWindowShortcutDone( bool ); void updateClientArea(); - + // kompmgr, also dcop void startKompmgr(); @@ -406,6 +414,8 @@ class Workspace : public TQObject, public KWinInterface, public KDecorationDefin void cleanupTemporaryRules(); void writeWindowRules(); void kipcMessage( int id, int data ); + void updateActiveBorders(); + void tileCurrentWindowToBorder(int position); // kompmgr void setPopupClientOpacity(int v); void resetClientOpacity(); @@ -486,19 +496,18 @@ class Workspace : public TQObject, public KWinInterface, public KDecorationDefin void tabBoxKeyPress( const KKeyNative& keyX ); void tabBoxKeyRelease( const XKeyEvent& ev ); - // electric borders - void checkElectricBorders( bool force = false ); - void createBorderWindows(); - void destroyBorderWindows(); - bool electricBorder(XEvent * e); - void raiseElectricBorders(); + // active borders + void destroyActiveBorders(); + bool activeBorderEvent(XEvent *e); + void activeBorderSwitchDesktop(ActiveBorder border, const TQPoint& pos); // ------------------ - + void helperDialog( const TQString& message, const Client* c ); void calcDesktopLayout(int &x, int &y) const; + TQPopupMenu* makeTileMenu(); TQPopupMenu* clientPopup(); void closeActivePopup(); @@ -550,7 +559,7 @@ class Workspace : public TQObject, public KWinInterface, public KDecorationDefin ClientList global_focus_chain; // this one is only for things like tabbox's MRU ClientList should_get_focus; // last is most recent ClientList attention_chain; - + bool showing_desktop; ClientList showing_desktop_clients; int block_showing_desktop; @@ -583,6 +592,7 @@ class Workspace : public TQObject, public KWinInterface, public KDecorationDefin TQPopupMenu *advanced_popup; TQPopupMenu *desk_popup; int desk_popup_index; + int tile_popup_index; TDEGlobalAccel *keys; TDEGlobalAccel *client_keys; @@ -617,21 +627,19 @@ class Workspace : public TQObject, public KWinInterface, public KDecorationDefin TDEStartupInfo* startup; - bool electric_have_borders; - int electric_current_border; - WId electric_top_border; - WId electric_bottom_border; - WId electric_left_border; - WId electric_right_border; - int electricLeft; - int electricRight; - int electricTop; - int electricBottom; - Time electric_time_first; - Time electric_time_last; - TQPoint electric_push_point; - - Qt::Orientation layoutOrientation; + ActiveBorder active_current_border; + Window active_windows[ ACTIVE_BORDER_COUNT ]; + int activeLeft; + int activeRight; + int activeTop; + int activeBottom; + Time active_time_first; + Time active_time_last; + Time active_time_last_trigger; + TQPoint active_push_point; + int active_reserved[ ACTIVE_BORDER_COUNT ]; // corners/edges used by something + + TQt::Orientation layoutOrientation; int layoutX; int layoutY; @@ -654,7 +662,7 @@ class Workspace : public TQObject, public KWinInterface, public KDecorationDefin bool forced_global_mouse_grab; friend class StackingUpdatesBlocker; friend class Client; - + //kompmgr TQSlider *transSlider; TQPushButton *transButton; @@ -663,7 +671,11 @@ class Workspace : public TQObject, public KWinInterface, public KDecorationDefin int maximizedWindowCounter; int topDockShadowSize;*/ //end - + + Window outline_left; + Window outline_right; + Window outline_top; + Window outline_bottom; signals: void kompmgrStarted(); void kompmgrStopped(); |