diff options
| author | Kostas Agnantis <kagnadis@gmail.com> | 2022-11-08 22:48:48 +0200 | 
|---|---|---|
| committer | Kostas Agnantis <kagnadis@gmail.com> | 2022-11-08 22:48:48 +0200 | 
| commit | 34065e8f19e8481c31cb31a55da02b42897a63fe (patch) | |
| tree | 48074d79855bf4ddae2f739babdaeaff2c3421e7 /src/Xmobar/Config | |
| parent | 0554a448bb27985e8d66940d077f54eda58d8e5a (diff) | |
| download | xmobar-34065e8f19e8481c31cb31a55da02b42897a63fe.tar.gz xmobar-34065e8f19e8481c31cb31a55da02b42897a63fe.tar.bz2 | |
Adds 'XPosition' type documentation and code fixes based on review
Diffstat (limited to 'src/Xmobar/Config')
| -rw-r--r-- | src/Xmobar/Config/Types.hs | 97 | 
1 files changed, 84 insertions, 13 deletions
| diff --git a/src/Xmobar/Config/Types.hs b/src/Xmobar/Config/Types.hs index 1172034..ea7b958 100644 --- a/src/Xmobar/Config/Types.hs +++ b/src/Xmobar/Config/Types.hs @@ -87,20 +87,91 @@ data Config =             , signal :: SignalChan   -- ^ Channel to send signals to xmobar             } deriving (Read, Show) -data XPosition = Top -               | TopH Int -               | TopHM Int Int Int Int -- left right top height -               | TopW Align Int -               | TopSize Align Int Int -               | TopP Int Int +-- | The position datatype +data XPosition = Top            -- ^ Top of the screen, full width, auto height + +               | TopH           -- ^ Top of the screen, full width with +                                --   specific height +                  Int           -- ^ Height (in pixels) + +                 -- | Top of the screen, full width with +                 --   specific height and margins +               | TopHM +                  Int           -- ^ Height (in pixels) +                  Int           -- ^ Left margin (in pixels) +                  Int           -- ^ Right margin (in pixels) +                  Int           -- ^ Top margin (in pixels) +                  Int           -- ^ Bottom margin (in pixels) + +                 -- | Top of the screen with specific width +                 --   (as screen percentage) and alignment +               | TopW +                  Align         -- ^ Alignement (L|C|R) +                  Int           -- ^ Width as screen percentage (0-100) + +                 -- | Top of the screen with specific width +                 --   (as screen percentage), height and +                 --   alignment +               | TopSize +                  Align         -- ^ Alignement (L|C|R) +                  Int           -- ^ Width as screen percentage (0-100) +                  Int           -- ^ Height (in pixels) + +                 -- | Top of the screen with specific left/right +                 --   margins +               | TopP +                  Int           -- ^ Left margin (in pixels) +                  Int           -- ^ Right margin (in pixels) + +                 -- | Bottom of the screen, full width, auto height                 | Bottom -               | BottomH Int -               | BottomHM Int Int Int Int -- left right bottom height -               | BottomP Int Int -               | BottomW Align Int -               | BottomSize Align Int Int -               | Static {xpos, ypos, width, height :: Int} -               | OnScreen Int XPosition + +               | BottomH        -- ^ Bottom of the screen, full width, with +                                --   specific height +                  Int           -- ^ Height (in pixels) + +                 -- | Bottom of the screen with specific height +                 --   and margins +               | BottomHM +                  Int           -- ^ Height (in pixels) +                  Int           -- ^ Left margin (in pixels) +                  Int           -- ^ Right margin (in pixels) +                  Int           -- ^ Top margin (in pixels) +                  Int           -- ^ Bottom margin (in pixels) + +                 -- | Bottom of the screen with specific +                 --   left/right margins +               | BottomP +                  Int           -- ^ Left margin (in pixels) +                  Int           -- ^ Bottom margin (in pixels) + +                 -- | Bottom of the screen with specific width +                 --   (as screen percentage) and alignment +                 --   and alignment +               | BottomW +                  Align         -- ^ Alignement (L|C|R) +                  Int           -- ^ Width as screen percentage (0-100) + +                 -- | Bottom of the screen with specific width +                 --   (as screen percentage), height +                 --   and alignment +               | BottomSize +                  Align         -- ^ Alignement (L|C|R) +                  Int           -- ^ Width as screen percentage (0-100) +                  Int           -- ^ Height (in pixels) + +                 -- | Static position and specific size +               | Static { xpos :: Int   -- ^ Position X (in pixels) +                        , ypos :: Int   -- ^ Position Y (in pixels) +                        , width :: Int  -- ^ Width (in pixels) +                        , height :: Int -- ^ Height (in pixels) +                        } + +                 -- | Along with the position characteristics +                 --   specify the screen to display the bar +               | OnScreen +                  Int           -- ^ Screen id (primary is 0) +                  XPosition     -- ^ Position                   deriving ( Read, Show, Eq )  data Align = L | R | C deriving ( Read, Show, Eq ) | 
