1/* 2 * Copyright 2011, Axel Dörfler, axeld@pinc-software.de. 3 * Distributed under the terms of the MIT License. 4 */ 5#ifndef SWITCHER_H 6#define SWITCHER_H 7 8 9#include <Application.h> 10 11 12class BMessage; 13 14 15enum { 16 kNowhere = 0, 17 kTopEdge = 0x01, 18 kBottomEdge = 0x02, 19 kLeftEdge = 0x04, 20 kRightEdge = 0x08, 21 // TODO: not yet supported 22 kTopLeftCorner = 0x10, 23 kTopRightCorner = 0x20, 24 kBottomLeftCorner = 0x40, 25 kBottomRightCorner = 0x80 26}; 27 28enum { 29 kShowApplications, 30 kShowApplicationWindows, 31 kShowWorkspaceWindows, 32 kShowAllWindows, 33 kShowWorkspaces, 34 kShowShelf, 35 kShowFavorites, 36 kShowRecentFiles, 37 kShowFilesClipboard, 38 kShowFolder, 39 kShowQuery 40}; 41 42 43static const uint32 kMsgLocationTrigger = 'LoTr'; 44static const uint32 kMsgLocationFree = 'LoFr'; 45static const uint32 kMsgHideWhenMouseMovedOut = 'HwMo'; 46 47 48class Switcher : public BApplication { 49public: 50 Switcher(); 51 virtual ~Switcher(); 52 53 virtual void ReadyToRun(); 54 55 virtual void MessageReceived(BMessage* message); 56 57private: 58 BMessenger fCaptureMessenger; 59 uint32 fOccupiedLocations; 60}; 61 62 63extern const char* kSignature; 64 65 66#endif // SWITCHER_H 67