[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Some patches to kdebase...
From:       Henrik Johnson <hpj () globecom ! se>
Date:       2001-04-29 21:46:41
[Download RAW message or body]

Here are two patches for the kdebase package.

The first one kwin.patch is a patch that adds two key bindings which by 
default don't have any keys connected to them. The new bindings are "move 
window to next desktop" which takes the current window to the next 
desktop and then changes to this desktop. The second one is move to 
previous desktop.

The second one kicker.patch is a patch that adds an option to the kicker 
to popup an autohidden panel for a brief period when you switch desktop. 
This is for people who are familiar with IceWM and like the kicker to 
popup and display which desktop you are on.

I don't have write access to the CVS so I need help if this is to be 
added.

/Henrik Johnson
GlobeCom AB
["kwin.patch" (kwin.patch)]

? kwin/plugins.loT
Index: kwin/kwinbindings.cpp
===================================================================
RCS file: /home/kde/kdebase/kwin/kwinbindings.cpp,v
retrieving revision 1.14
diff -u -5 -r1.14 kwinbindings.cpp
--- kwin/kwinbindings.cpp	2001/04/02 16:17:06	1.14
+++ kwin/kwinbindings.cpp	2001/04/29 17:44:56
@@ -31,10 +31,12 @@
  keys->insertItem(i18n("Window move"),"Window move", "");
  keys->insertItem(i18n("Window resize"),"Window resize", "");
  keys->insertItem(i18n("Window raise"),"Window raise", "");
  keys->insertItem(i18n("Window lower"),"Window lower", "");
  keys->insertItem(i18n("Window raise-or-lower"), "Toggle raise and lower", "");
+ keys->insertItem(i18n("Window to next desktop"),"Window to next desktop", "");
+ keys->insertItem(i18n("Window to previous desktop"),"Window to previous desktop", "");
  
  keys->insertItem(i18n("Walk through desktops"),"Walk through desktops", "CTRL+Tab");
  keys->insertItem(i18n("Walk back through desktops"),"Walk back through desktops", "SHIFT+CTRL+Tab");
  keys->insertItem(i18n("Walk through windows"),"Walk through windows", "ALT+Tab");
  keys->insertItem(i18n("Walk back through windows"),"Walk back through windows", "SHIFT+ALT+Tab");
Index: kwin/workspace.cpp
===================================================================
RCS file: /home/kde/kdebase/kwin/workspace.cpp,v
retrieving revision 1.237
diff -u -5 -r1.237 workspace.cpp
--- kwin/workspace.cpp	2001/04/25 16:15:54	1.237
+++ kwin/workspace.cpp	2001/04/29 17:45:03
@@ -2386,10 +2386,12 @@
     keys->connectItem( "Window move", this, SLOT( slotWindowMove() ) );
     keys->connectItem( "Window resize", this, SLOT( slotWindowResize() ) );
     keys->connectItem( "Window raise", this, SLOT( slotWindowRaise() ) );
     keys->connectItem( "Window lower", this, SLOT( slotWindowLower() ) );
     keys->connectItem( "Toggle raise and lower", this, SLOT( slotWindowRaiseOrLower() ) );
+    keys->connectItem( "Window to next desktop", this, SLOT( slotWindowNextDesktop() ) );
+    keys->connectItem( "Window to previous desktop", this, SLOT( slotWindowPreviousDesktop() ) );
 
     keys->connectItem( "Walk through desktops", this, SLOT( slotWalkThroughDesktops()));
     keys->connectItem( "Walk back through desktops", this, SLOT( slotWalkBackThroughDesktops()));
     keys->connectItem( "Walk through windows",this, SLOT( slotWalkThroughWindows()));
     keys->connectItem( "Walk back through windows",this, SLOT( slotWalkBackThroughWindows()));
@@ -2566,10 +2568,33 @@
 {
     if  ( popup_client )
         raiseOrLowerClient( popup_client );
 }
 
+/*!
+  Move window to next desktop
+ */
+void Workspace::slotWindowNextDesktop(){
+    int d = currentDesktop() + 1;
+    if ( d > numberOfDesktops() )
+        d = 1;
+    if (popup_client)
+      sendClientToDesktop(popup_client,d);
+    setCurrentDesktop(d);
+}
+
+/*!
+  Move window to previous desktop
+ */
+void Workspace::slotWindowPreviousDesktop(){
+    int d = currentDesktop() - 1;
+    if ( d <= 0 )
+        d = numberOfDesktops();
+    if (popup_client)
+      sendClientToDesktop(popup_client,d);
+    setCurrentDesktop(d);
+}
 
 /*!
   Invokes keyboard mouse emulation
  */
 void Workspace::slotMouseEmulation()
Index: kwin/workspace.h
===================================================================
RCS file: /home/kde/kdebase/kwin/workspace.h,v
retrieving revision 1.80
diff -u -5 -r1.80 workspace.h
--- kwin/workspace.h	2001/04/22 06:51:07	1.80
+++ kwin/workspace.h	2001/04/29 17:45:05
@@ -247,10 +247,13 @@
     void slotWindowOperations();
     void slotWindowClose();
     void slotWindowMove();
     void slotWindowResize();
 
+    void slotWindowNextDesktop();
+    void slotWindowPreviousDesktop();
+
     void slotMouseEmulation();
 
     void slotResetAllClientsDelayed();
     void slotResetAllClients();
 
["kicker.patch" (kicker.patch)]

? kicker/core/container_button.loT
Index: kicker/core/panel.cpp
===================================================================
RCS file: /home/kde/kdebase/kicker/core/panel.cpp,v
retrieving revision 1.59
diff -u -5 -r1.59 panel.cpp
--- kicker/core/panel.cpp	2001/04/20 11:12:02	1.59
+++ kicker/core/panel.cpp	2001/04/29 17:41:41
@@ -102,10 +102,11 @@
 
     // instantiate plugin manager and kwin module
     PGlobal::pluginmgr = new KickerPluginManager();
     PGlobal::kwin_module = new KWinModule(this );
     connect( PGlobal::kwin_module, SIGNAL( strutChanged() ), this, SLOT( \
strutChanged() ) ); +    connect( PGlobal::kwin_module, SIGNAL( \
currentDesktopChanged(int) ), this, SLOT( currentDesktopChanged(int) ) );  
     // let PGlobal know we are there
     PGlobal::panel = this;
 
     // panel global tooltip group
@@ -178,10 +179,11 @@
     config->reparseConfiguration();
     emit configurationChanged();
     config->setGroup("General");
 
     _autoHide = config->readBoolEntry("AutoHidePanel", false);
+    _autoHideSwitch = config->readBoolEntry("AutoHideSwitch", false);
     _hideAnim = config->readBoolEntry("HideAnimation", true);
     _autoHideAnim = config->readBoolEntry("AutoHideAnimation", true);
     _autoHideDelay = config->readNumEntry("AutoHideDelay", 3);
     _hideAnimSpeed = config->readNumEntry("HideAnimationSpeed", 50);
     _autoHideAnimSpeed = config->readNumEntry("AutoHideAnimationSpeed", 5);
@@ -259,10 +261,18 @@
     // auto hide - Lotzi B.
     // ... or a user hide - Matthias E.
     if (!_autoHidden && !_userHidden ) {
 	if ( initialGeometry( _pos ) != geometry() )
 	    resetLayout();
+    }
+}
+
+void Panel::currentDesktopChanged(int)
+{
+    if (_autoHideSwitch) {
+        autoHide(false);
+        _autohideTimer->start(250, true);
     }
 }
 
 void Panel::resetLayout()
 {
Index: kicker/core/panel.h
===================================================================
RCS file: /home/kde/kdebase/kicker/core/panel.h,v
retrieving revision 1.18
diff -u -5 -r1.18 panel.h
--- kicker/core/panel.h	2001/04/20 10:17:31	1.18
+++ kicker/core/panel.h	2001/04/29 17:41:41
@@ -110,10 +110,11 @@
     void autoHideTimeout();
     void slotRestart();
     void strutChanged();
     void showScrollButtons(bool);
     void containerSizeHintChanged();
+    void currentDesktopChanged(int);
 
 private:
 
     void animatedHide(bool left);
 
@@ -122,10 +123,11 @@
     bool _showLeftHB;
     bool _showRightHB;
     int _HBwidth;
     int _panelsize;
     bool _autoHide;
+    bool _autoHideSwitch;
     bool _autoHidden;
     bool _userHidden;
     bool _hideAnim, _autoHideAnim;
     int _autoHideDelay;
     int _hideAnimSpeed, _autoHideAnimSpeed;
Index: kcontrol/kicker/generaltab.ui
===================================================================
RCS file: /home/kde/kdebase/kcontrol/kicker/generaltab.ui,v
retrieving revision 1.6
diff -u -5 -r1.6 generaltab.ui
--- kcontrol/kicker/generaltab.ui	2001/04/20 11:14:16	1.6
+++ kcontrol/kicker/generaltab.ui	2001/04/29 17:41:44
@@ -378,10 +378,21 @@
                     <property stdset="1">
                         <name>text</name>
                         <string>Enable automatic hide</string>
                     </property>
                 </widget>
+               <widget>
+                    <class>QCheckBox</class>
+                    <property stdset="1">
+                        <name>name</name>
+                        <cstring>m_autoHideSwitch</cstring>
+                    </property>
+                    <property stdset="1">
+                        <name>text</name>
+                        <string>Show panel when switching desktop</string>
+                    </property>
+                </widget>
                 <widget>
                     <class>QLayoutWidget</class>
                     <property stdset="1">
                         <name>name</name>
                         <cstring>Layout30</cstring>
@@ -531,10 +542,16 @@
 </widget>
 <connections>
     <connection>
         <sender>m_autoHide</sender>
         <signal>toggled(bool)</signal>
+        <receiver>m_autoHideSwitch</receiver>
+        <slot>setEnabled(bool)</slot>
+    </connection>
+    <connection>
+        <sender>m_autoHide</sender>
+        <signal>toggled(bool)</signal>
         <receiver>m_delaySlider</receiver>
         <slot>setEnabled(bool)</slot>
     </connection>
     <connection>
         <sender>m_autoHide</sender>
@@ -570,10 +587,11 @@
 <tabstops>
     <tabstop>m_bottomButton</tabstop>
     <tabstop>m_normal</tabstop>
     <tabstop>m_large</tabstop>
     <tabstop>m_autoHide</tabstop>
+    <tabstop>m_autoHideSwitch</tabstop>
     <tabstop>m_delaySlider</tabstop>
     <tabstop>m_delaySpinBox</tabstop>
     <tabstop>m_terminalInput</tabstop>
 </tabstops>
 </UI>
Index: kcontrol/kicker/generaltab_impl.cpp
===================================================================
RCS file: /home/kde/kdebase/kcontrol/kicker/generaltab_impl.cpp,v
retrieving revision 1.10
diff -u -5 -r1.10 generaltab_impl.cpp
--- kcontrol/kicker/generaltab_impl.cpp	2001/04/21 13:24:07	1.10
+++ kcontrol/kicker/generaltab_impl.cpp	2001/04/29 17:41:44
@@ -38,10 +38,11 @@
 {
     // connections
     connect(m_locationGroup, SIGNAL(clicked(int)), SIGNAL(changed()));
     connect(m_sizeGroup, SIGNAL(clicked(int)), SIGNAL(changed()));
     connect(m_autoHide, SIGNAL(clicked()), SIGNAL(changed()));
+    connect(m_autoHideSwitch, SIGNAL(clicked()), SIGNAL(changed()));
     connect(m_delaySlider, SIGNAL(valueChanged(int)), SIGNAL(changed()));
     connect(m_delaySpinBox, SIGNAL(valueChanged(int)), SIGNAL(changed()));
     connect(m_terminalInput, SIGNAL(textChanged(const QString&)), \
                SIGNAL(changed()));
     connect(m_percentSlider, SIGNAL(valueChanged(int)), SIGNAL(changed()));
     connect(m_percentSpinBox, SIGNAL(valueChanged(int)), SIGNAL(changed()));
@@ -61,10 +62,14 @@
                                      "after some time and reappear when you move the \
                mouse to the "
                                      "screen edge the panel is attached to. "
                                      "This is particularly useful for small screen \
resolutions, "  "for example, on laptops.") );
 
+    QWhatsThis::add(m_autoHideSwitch, i18n("If this option is enabled, the panel \
will automatically show " +					   "itself for a brief period of time when the \
desktop is switched " +					   "so you can see what desktop you are on.") );
+
     QString delaystr = i18n("Here you can change the delay after which the panel \
will disappear"  " if not used.");
 
     QWhatsThis::add(m_delaySlider, delaystr);
     QWhatsThis::add(m_delaySpinBox, delaystr);
@@ -85,13 +90,15 @@
 
     m_sizeGroup->setButton(c->readNumEntry("Size", 2));
     m_locationGroup->setButton(c->readNumEntry("Position", 3));
 
     bool ah = c->readBoolEntry("AutoHidePanel", false);
+    bool ahs = c->readBoolEntry("AutoHideSwitch", false);
     int delay = c->readNumEntry("AutoHideDelay", 3);
 
     m_autoHide->setChecked(ah);
+    m_autoHideSwitch->setChecked(ahs);
     m_delaySlider->setValue(delay);
     m_delaySpinBox->setValue(delay);
     m_delaySlider->setEnabled(ah);
     m_delaySpinBox->setEnabled(ah);
 
@@ -120,10 +127,11 @@
     c->setGroup("General");
 
     c->writeEntry("Size", m_sizeGroup->id(m_sizeGroup->selected()));
     c->writeEntry("Position", m_locationGroup->id(m_locationGroup->selected()));
     c->writeEntry("AutoHidePanel", m_autoHide->isChecked());
+    c->writeEntry("AutoHideSwitch", m_autoHideSwitch->isChecked());
     c->writeEntry("AutoHideDelay", m_delaySlider->value());
     c->writeEntry( "SizePercentage", m_percentSlider->value() );
     c->writeEntry( "ExpandSize", m_expandCheckBox->isChecked() );
 
     c->setGroup("misc");



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic