67 lines
1.1 KiB
C++
67 lines
1.1 KiB
C++
/*
|
|
* Copyright 2011, Axel Dörfler, axeld@pinc-software.de.
|
|
* Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef SWITCHER_H
|
|
#define SWITCHER_H
|
|
|
|
|
|
#include <Application.h>
|
|
|
|
|
|
class BMessage;
|
|
|
|
|
|
enum {
|
|
kNowhere = 0,
|
|
kTopEdge = 0x01,
|
|
kBottomEdge = 0x02,
|
|
kLeftEdge = 0x04,
|
|
kRightEdge = 0x08,
|
|
// TODO: not yet supported
|
|
kTopLeftCorner = 0x10,
|
|
kTopRightCorner = 0x20,
|
|
kBottomLeftCorner = 0x40,
|
|
kBottomRightCorner = 0x80
|
|
};
|
|
|
|
enum {
|
|
kShowApplications,
|
|
kShowApplicationWindows,
|
|
kShowWorkspaceWindows,
|
|
kShowAllWindows,
|
|
kShowWorkspaces,
|
|
kShowShelf,
|
|
kShowFavorites,
|
|
kShowRecentFiles,
|
|
kShowFilesClipboard,
|
|
kShowFolder,
|
|
kShowQuery
|
|
};
|
|
|
|
|
|
static const uint32 kMsgLocationTrigger = 'LoTr';
|
|
static const uint32 kMsgLocationFree = 'LoFr';
|
|
static const uint32 kMsgHideWhenMouseMovedOut = 'HwMo';
|
|
|
|
|
|
class Switcher : public BApplication {
|
|
public:
|
|
Switcher();
|
|
virtual ~Switcher();
|
|
|
|
virtual void ReadyToRun();
|
|
|
|
virtual void MessageReceived(BMessage* message);
|
|
|
|
private:
|
|
BMessenger fCaptureMessenger;
|
|
uint32 fOccupiedLocations;
|
|
};
|
|
|
|
|
|
extern const char* kSignature;
|
|
|
|
|
|
#endif // SWITCHER_H
|