Code Review
/
staging
/
windowmanager.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
App: remove id_shift and id_mask constants
[staging/windowmanager.git]
/
src
/
app.hpp
diff --git
a/src/app.hpp
b/src/app.hpp
index
71bc2c2
..
aac28cd
100644
(file)
--- a/
src/app.hpp
+++ b/
src/app.hpp
@@
-30,6
+30,7
@@
#include "controller_hooks.hpp"
#include "layers.hpp"
#include "layout.hpp"
#include "controller_hooks.hpp"
#include "layers.hpp"
#include "layout.hpp"
+#include "policy.hpp"
#include "result.hpp"
#include "wayland.hpp"
#include "result.hpp"
#include "wayland.hpp"
@@
-46,9
+47,6
@@
namespace wm {
using std::experimental::optional;
struct id_allocator {
using std::experimental::optional;
struct id_allocator {
- constexpr static const unsigned id_shift = 22;
- constexpr static const unsigned id_mask = (1 << id_shift) - 1;
-
unsigned next = 1;
// Surfaces that where requested but not yet created
unsigned next = 1;
// Surfaces that where requested but not yet created
@@
-115,7
+113,6
@@
struct App {
struct config config;
// track current layouts separately
struct config config;
// track current layouts separately
- std::map<int, struct LayoutState> layouts;
layer_map layers;
// ID allocation and proxy methods for lookup
layer_map layers;
// ID allocation and proxy methods for lookup
@@
-126,6
+123,8
@@
struct App {
std::vector<int> pending_end_draw;
std::vector<int> pending_end_draw;
+ Policy policy;
+
explicit App(wl::display *d);
~App();
explicit App(wl::display *d);
~App();
@@
-179,6
+178,9
@@
private:
void deactivate_main_surface();
bool can_split(struct LayoutState const &state, int new_id);
void deactivate_main_surface();
bool can_split(struct LayoutState const &state, int new_id);
+ void try_layout(struct LayoutState &state,
+ struct LayoutState const &new_layout,
+ std::function<void(LayoutState const &nl)> apply);
};
} // namespace wm
};
} // namespace wm