all repos — fluxbox @ 2d0075c14a130f6cdc07d1485aa3983372063e9b

custom fork of the fluxbox windowmanager

moved placement strategies to different PlacementStrategy classes
fluxgen fluxgen
commit

2d0075c14a130f6cdc07d1485aa3983372063e9b

parent

acaf89bbb6efb2b0d0de43c2667fb2a4af8fb3a3

1 files changed, 21 insertions(+), 0 deletions(-)

jump to
A src/PlacementStrategy.hh

@@ -0,0 +1,21 @@

+#ifndef PLACEMENTSTRATEGY_HH +#define PLACEMENTSTRATEGY_HH + +#include <vector> +class FluxboxWindow; + +struct PlacementStrategy { + /** + * Calculates a placement for @win and returns suggested placement in @place_x and @place_y + * @param windowlist the windows that are on the same workspace + * @param win the window that needs to be placed + * @param place_x x placement of specific strategy + * @param place_y y placement of specific strategy + * @return true if the strategy found a placement for the window + */ + virtual bool placeWindow(const std::vector<FluxboxWindow *> &windowlist, + const FluxboxWindow &win, + int &place_x, int &place_y) = 0; +}; + +#endif // PLACEMENTSTRATEGY_HH