Source

Mirror / include / windowContainer.h

#ifndef WINDOWCONTAINER_H
#define WINDOWCONTAINER_H

#include <vector>
#include <utility>
#include <iostream>

#include <xcb/xcb.h>

#include "window.h"

typedef std::vector<Window> WindowList;
typedef std::vector<WindowList> StackList;

class WindowContainer
{
    public:
        WindowContainer();
        ~WindowContainer();
        Window &findWindow(xcb_window_t winId);
        void addWindow(Window window);
        bool removeWindow(Window window);
        void focusWindow(Window window);
        void killFocused();
        void layoutWindows(xcb_rectangle_t area);
        void addStack();
		void lowerAll();
		void raiseAll();
        void toggleExemptFocused();
        Window invalidWin;

    private:
        StackList stackList;
        std::pair<int, int> focused;
        std::pair<int, int> lastFocused; 

};



#endif //WINDOWCONTAINER_H
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.