Logo Search packages:      
Sourcecode: bbappconf version File versions  Download package

wminterface.hh

//  wminterface.hh for bbtools.
//
//  Copyright (c) 1998-1999 by John Kennis, jkennis@chello.nl
//
//  This program is free software; you can redistribute it and/or modify
//  it under the terms of the GNU General Public License as published by
//  the Free Software Foundation; either version 2 of the License, or
//  (at your option) any later version.
//
//  This program is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU General Public License for more details.
//
//  You should have received a copy of the GNU General Public License
//  along with this program; if not, write to the Free Software
//  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// (See the included file COPYING / GPL-2.0)
//
#ifndef __WMINTERFACE_HH
#define __WMINTERFACE_HH

#include "Image.hh"
#include "bbappconf.hh"
#include "NETInterface.hh"

class BImageControl;
class Resource;
class ToolWindow;
class BaseDisplay;

struct WindowList;


class WMInterface : public NETInterface {

public:
  WMInterface(ToolWindow *);
  ~WMInterface(void);

  void moduleInit(void);

  void removeSticky(Window,int);
  void addSticky(WindowList *);
  void sendWindowToDesktop(Window,int);
  void setWindowFocus(Window);
  int isIconicState(Window);
  void setWindowShade(Window,bool);
  void setIconicState(Window,bool);
  void setDecor(Window,bool);
  void setOmniPresent(Window,bool);
  int getAttributes(Window);
  void changeIconState(Window);
  void windowAttributeChange(Window);
      void moveWindow(Window,int,int);
      void resizeWindow(Window,int,int);
      
  int getNumberOfDesktops();
  int getCurrentDesktop();
  void changeDesktop(int);

  void processClientEvents(XEvent Event);

 protected:
    virtual void NETNotifyStartup(void);
    virtual void NETNotifyWindowAdd(Window,int);
    virtual void NETNotifyDel(Window);
    virtual void NETNotifyAttributes(Window);
    virtual void NETNotifyFocus(Window);
    virtual void NETNotifyCurrentWorkspace(int);
    virtual void NETNotifyWorkspaceCount(int);

private:
  void sendClientMessage(Atom, XID);

  ToolWindow *bbtool;

//  Atom kwm_module_init;
//  Atom kwm_module_win_add;
//  Atom kwm_module_win_remove;
//  Atom kwm_module_win_change;
//  Atom kwm_module_win_activate;
//  Atom kwm_module_win_iconfied;
//  Atom kwm_module_win_raise;
//  Atom kwm_module_win_lower;
//  Atom kwm_module_desktop_change;
//  Atom kwm_module_desktop_number_change;


};

#endif /* __WMINTERFACE_HH */

Generated by  Doxygen 1.6.0   Back to index