eww icon indicating copy to clipboard operation
eww copied to clipboard

[WIDGET] flowbox

Open mantacid opened this issue 2 years ago • 1 comments

Description of the widget

the flowbox widget would act much like a CSS flexbox, being able to wrap its contents based on its width/height.

Implementation proposal

This widget would be based on the GTK flowbox, which already does much of what is required.

Example usage

the widget could be used in several ways:

  • dynamic widget layouts that could be integrated into tiling window Managers.
  • file explorers
  • image galleries
  • app launchers

Format

(flowbox :width "100%"
         :height "100%"
         :orientation "v" ;;same as box widget
         :direction "down" ;;other values: up, left/right (if orientation is horizontal)
         :min-item-size "30px" ;;dictates how small items can be smooshed before they get wrapped. If unspecified, the contents of the items will determine the minimum size
         :max-per-row 5 ;;mutually exclusive with the previous property. if unspecified, value defaults to the flowbox's current width / min-item-size.
         :row-size 40px ;;how high/wide to make each row/column. if unspecified, item dimensions will dictate the row's appearance.
         :justify-end "fill" ;;how do the items in the last row get spaced if they can't fill the whole row? possible values: "start", "end", "center", "fill", "space" (keeps the items the same width, but centers them and spaces them evenly)
    (children)  ;; Children would have an "order" property, which determines the order in which the items appear.
)

Those are all the properties I would find useful. Even some of these would make this widget a great addition to eww.

Additional context

No response

mantacid avatar Aug 24 '23 01:08 mantacid

I need this widget too

ancion avatar Aug 04 '24 07:08 ancion