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

bbappconf.hh

// bbappman.hh for bbappman - an pager tool for Blackbox.
//
//  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 __MAIN_HH
#define __MAIN_HH

#include "Image.hh"
#include "Basewindow.hh"
#include "resource.hh"
#include "appconf.hh"
#include "wminterface.hh"

class Resource;
class BaseResource;
class Basewindow;
class WMInterface;
class AppWindow;

struct PIXMAP {
  Pixmap    frame;
  Pixmap    appwindow;
};

struct GEOMM {
  unsigned int height;
  unsigned int width;
  int x;
  int y;
};


class ToolWindow : public Basewindow {

public:


        
  ToolWindow(int argc,char **argv,struct CMDOPTIONS *);
  ~ToolWindow(void);

  XGCValues gcv;
  GC frameGC;

  Window framewin;
  Resource *resource;
  int desktop_nr;

  LinkedList<AppWindow> *appWindowList;

  void MakeWindow(bool);
  void addAppWindow(Window *,bool);
  void removeAppWindow(Window);
  void reconfigure(void);
  int getDesktop(Window);
  int getWindowGeometry(AppWindow *);
  void changeDesktop(int);
  void removeWindow(Window);
  void changeWindow(Window);
  void raiseWindow(Window);
  void lowerWindow(Window);
  void focusWindow(Window);
  void desktopChange(int );
  int winOnDesktop(Window);
  bool isIcon(Window);
  void changeWinDesktop(Window,int);
  int getCurrentDesktopNr(void) { return current_desktop_nr; }
//  int getNumberOfDesktops(void) { return number_of_desktops; }
//  void setNumberOfDesktops(int n) { number_of_desktops=n; }
  XrmDatabase getConfigDb(void) { return config_db; }
  
  WMInterface *getWMInterface(void) { return wminterface; }
  void setNETInit(void) { wm_init = True; }
  struct PIXMAP getPixmap(void) { return pixmap; }
  Resource *getResource(void) { return resource; }

protected:
  virtual void process_event(XEvent *);
  
private:

  bool wm_init;
  int day,month,year;
  int number_of_icons;

      bool iconic;
  int current_desktop_nr;
  PIXMAP  pixmap;
  struct GEOMM frame;
  struct GEOMM label;
  struct GEOMM lbutton;
  struct GEOMM rbutton;
  fd_set rfds;
  char **iargv;
  int iargc;
  int row_last,column_last;
  XrmDatabase config_db;
  AppWindow *pushed_app;
  
  Window focuswin;
  
  WMInterface *wminterface;

void CheckConfig(void);

};

#endif /* __MAIN_HH */

Generated by  Doxygen 1.6.0   Back to index