Commit Graph

6 Commits (10c3edb5d916ad9d5ad170f112afa78f04ecad4e)

Author SHA1 Message Date
Christian Burger 10c3edb5d9 enabled compiler flags "-pedantic", "-Wall", …
… "-Werror" and "-Wextra". Corrected some issues resulting from the
switch.
2022-05-22 00:02:37 +02:00
Christian Burger ba378b2a43 window manager: inverting all windows' visibility
Introducing a method that makes all visible windows invisible and vice-
versa.
2022-05-20 20:41:45 +02:00
Christian Burger 3be5336ca0 refactoring tiling window manager
Laying out the windows in the window manager frame, is a very similar
process regardless of doing it horizontally or vertically. So the
template design pattern was applied and the general functionality was
pulled up; only specific functionalities were put into the corresponding
classes.

kNCursesDemoApp: Separated the screen into three windows vertically. The
top and bottom window contain another two windows each, lay out
horizontally. The top left window is fixed to width 1 and the top right
takes the rest of the space. Bottom two windows take 50 % of the space
each.

Remarks: There are still some rendering bugs, when hiding and showing
windows. E. g. when hiding the top or middle window with `<F1>` or
`<F2>` respectively, the bottom window has some errors. Maybe some
timing issue.
2022-05-18 21:15:13 +02:00
Christian Burger 0a086ff604 horizontal window manager now resizes correctly
Window managers are now descendants of windows instead of owning the
window in which they exist. This makes a clean window hierarchy.
2022-05-08 22:52:23 +02:00
Christian Burger 9ddb769cb4 added `HorizontalWindowManager` to `DemoApp` 2022-05-08 21:37:06 +02:00
Christian Burger 4fb2e6a976 renamed `App.*` to `DemoApp.*` 2022-05-08 21:26:12 +02:00