kranewm

An ICCCM & EWMH compliant X11 reparenting, dynamic window manager, written in C++
git clone git://git.deurzen.net/kranewm
Log | Files | Refs | LICENSE

decoration.hh (910B)


      1 #ifndef __WINSYS_DECORATION_H_GUARD__
      2 #define __WINSYS_DECORATION_H_GUARD__
      3 
      4 #include "geometry.hh"
      5 
      6 #include <optional>
      7 
      8 namespace winsys
      9 {
     10 
     11     typedef unsigned Color;
     12 
     13     struct ColorScheme final
     14     {
     15         static const ColorScheme DEFAULT_COLOR_SCHEME;
     16 
     17         Color focused;
     18         Color fdisowned;
     19         Color fsticky;
     20         Color unfocused;
     21         Color udisowned;
     22         Color usticky;
     23         Color urgent;
     24     };
     25 
     26     struct Border final
     27     {
     28         unsigned width;
     29         ColorScheme colors;
     30     };
     31 
     32     struct Frame final
     33     {
     34         Extents extents;
     35         ColorScheme colors;
     36     };
     37 
     38     struct Decoration final
     39     {
     40         static const Decoration NO_DECORATION;
     41         static const Decoration FREE_DECORATION;
     42 
     43         std::optional<Border> border;
     44         std::optional<Frame> frame;
     45 
     46         const Extents extents() const;
     47     };
     48 
     49 }
     50 
     51 #endif//__WINSYS_DECORATION_H_GUARD__