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 unused g_app global, make dtor default
[staging/windowmanager.git]
/
src
/
app.hpp
diff --git
a/src/app.hpp
b/src/app.hpp
index
c12654d
..
9424d9f
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,8
+123,10
@@
struct App {
std::vector<int> pending_end_draw;
std::vector<int> pending_end_draw;
+ Policy policy;
+
explicit App(wl::display *d);
explicit App(wl::display *d);
- ~App();
+ ~App()
= default
;
App(App const &) = delete;
App &operator=(App const &) = delete;
App(App const &) = delete;
App &operator=(App const &) = delete;
@@
-163,6
+162,7
@@
private:
int init_layers();
void surface_set_layout(int surface_id, optional<int> sub_surface_id = nullopt);
int init_layers();
void surface_set_layout(int surface_id, optional<int> sub_surface_id = nullopt);
+ void layout_commit();
// TMC WM Events to clients
void emit_activated(char const *label);
// TMC WM Events to clients
void emit_activated(char const *label);
@@
-175,8
+175,12
@@
private:
void activate(int id);
void deactivate(int id);
void activate(int id);
void deactivate(int id);
+ void deactivate_main_surface();
bool can_split(struct LayoutState const &state, int new_id);
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