Mirror / include / windowContainer.h


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

#include <xcb/xcb.h>

#include "window.h"

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

class 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();
        void toggleFullscreenFocused();
        std::pair<int, int> getFocusedIndex();
        Window invalidWin;

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


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
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.