* Fri Jul 05 2024 Peter Simons <psimons@suse.com>
- Update brick to version 2.4.
2.4
- --
Changes:
* The `Keybindings` API now normalizes keybindings
to lowercase when modifiers are present. (See also
https://github.com/jtdaugherty/brick/issues/512) This means that,
for example, a constructed binding for `C-X` would be normalized to
`C-x`, and a binding from a configuration file written `C-X` would be
parsed and then normalized to `C-x`. This is because, in general, when
modifiers are present, input events are received for the lowercase
version of the character in question. Prior to changing this, Brick
would silently parse (or permit the construction of) uppercase-mapped
key bindings, but in practice those bindings were unusable because
they are not generated by terminals.
* Sun Jun 30 2024 Peter Simons <psimons@suse.com>
- Update brick to version 2.3.2.
2.3.2
- ----
Bug fixes:
* `FileBrowser`: if the `FileBrowser` was initialized with a `FilePath`
that ended in a slash, then if the user hit `Enter` on the `../` entry
to move to the parent directory, the only effect was the removal of
that trailing slash. This change trims the trailing slash so that the
expected move occurs whenever the `../` entry is selected.
* `Brick.Keybindings.Pretty.keybindingHelpWidget`: fixed a problem where
a key event with no name in a `KeyEvents` would cause a `fromJust`
exception. The pretty-printer now falls back to a placeholder
representation for such unnamed key events.
* Mon Dec 18 2023 Peter Simons <psimons@suse.com>
- Update brick to version 2.2.
2.2
- --
Enhancements:
* `Brick.Forms` got a new `FormFieldVisibilityMode` type and a
`setFieldVisibilityMode` function to allow greater control over
how form field collections are brought into view when forms are
rendered in viewports. Form fields will default to using the
`ShowFocusedFieldOnly` mode which preserves functionality prior to
this release. To get the new behavior, set a field's visibility mode
to `ShowAugmentedField`.
2.1.1
- ----
Bug fixes:
* `defaultMain` now properly shuts down Vty before it returns, fixing
a bug where the terminal would be in an unclean state on return from
`defaultMain`.
2.1
- --
API changes:
* Added `Brick.Main.customMainWithDefaultVty` as an alternative way to
initialize Brick.
2.0
- --
This release updates Brick to support Vty 6, which includes support for
Windows.
Package changes:
* Increased lower bound on `vty` to 6.0.
* Added dependency on `vty-crossplatform`.
* Migrated from `unix` dependency to `unix-compat`.
Other changes:
* Update core library and demo programs to use `vty-crossplatform` to
initialize the terminal.
* Tue Oct 24 2023 Peter Simons <psimons@suse.com>
- Update brick to version 1.10 revision 1.
1.10
- ---
API changes:
* The `ScrollbarRenderer` type got split up into vertical and horizontal
versions, `VScrollbarRenderer` and `HScrollbarRenderer`, respectively.
Their fields are nearly identical to the original `ScrollbarRenderer`
fields except that many fields now have a `V` or `H` in them as
appropriate. As part of this change, the various `Brick.Widgets.Core`
functions that deal with the renderers got their types updated, and
the types of the default scroll bar renderers changed, too.
* The scroll bar renderers now have a field to control how much space
is allocated to a scroll bar. Previously, all scroll bars were
assumed to be exactly one row in height or one column in width. This
change is motivated by a desire to be able to control how scroll
bars are rendered adjacent to viewport contents. It isn't always
desirable to render them right up against the contents; sometimes,
spacing would be nice between the bar and contents, for example.
As part of this change, `VScrollbarRenderer` got a field called
`scrollbarWidthAllocation` and `HScrollbarRenderer` got a field called
`scrollbarHeightAllocation`. The fields specify the height (for
horizontal scroll bars) or width (for vertical ones) of the region
in which the bar is rendered, allowing scroll bar element widgets
to take up more than one row in height (for horizontal scroll bars)
or more than one column in width (for vertical ones) as desired. If
the widgets take up less space, padding is added between the scroll
bar and the viewport contents to pad the scroll bar to take up the
specified allocation.
1.9
- --
API changes:
* `FocusRing` got a `Show` instance.
1.8
- --
API changes:
* Added `Brick.Widgets.Core.forceAttrAllowStyle`, which is like
`forceAttr` but allows styles to be preserved rather than overridden.
Other improvements:
* The `Brick.Forms` documentation was updated to clarify how attributes
get used for form fields.
1.7
- --
Package changes:
* Allow building with `base` 4.18 (GHC 9.6) (thanks Mario Lang)
API changes:
* Added a new function, `Brick.Util.style`, to create a Vty `Attr` from
a style value (thanks Amir Dekel)
Other improvements:
* `Brick.Forms.renderForm` now issues a visibility request for the
focused form field, which makes forms usable within viewports.
* Mon Oct 23 2023 Peter Simons <psimons@suse.com>
- Update brick to version 1.6 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
* Thu Mar 30 2023 Peter Simons <psimons@suse.com>
- Updated spec file to conform with ghc-rpm-macros-2.5.2.
* Sun Jan 22 2023 Peter Simons <psimons@suse.com>
- Update brick to version 1.6.
1.6
- --
Package changes:
* Support `mtl` 2.3 (thanks Daniel Firth)
API changes:
* `Brick.Widgets.Table` got a new `alignColumns` function that can be
used to do column layout of a list of widgets using `ColumnAlignment`
values from the table API.
* `Brick.Widgets.Table` got a new low-level table-rendering API for use
in applications that want to use the table layout machinery without
using `Table` itself. This includes:
* `tableCellLayout` - does table cell layout using table configuration
settings,
* `addBorders` - adds row, column, and surrounding borders using table
border-drawing settings, and
* `RenderedTableCells` and `BorderConfiguration` - the low-level types
used for the new functions.
Other changes:
* Added a new `EditorLineNumbersDemo` demo program.
* Thu Nov 24 2022 Peter Simons <psimons@suse.com>
- Update brick to version 1.5.
Upstream has edited the change log file since the last release in
a non-trivial way, i.e. they did more than just add a new entry
at the top. You can review the file at:
http://hackage.haskell.org/package/brick-1.5/src/CHANGELOG.md
* Fri Sep 30 2022 Peter Simons <psimons@suse.com>
- Update brick to version 1.3.
1.3
- --
Package changes:
* Removed dependency on `dlist`.
Performance improvements:
* Improved the performance of `vBox` and `hBox` (thanks Fraser Tweedale)
1.2
- --
Package changes:
* Supports base 4.17 (GHC 9.4).
Bug fixes:
* `newFileBrowser` now normalizes its initial path (#387).
Version: 0.67-bp154.1.13
* Mon Jan 31 2022 Peter Simons <psimons@suse.com>
- Update brick to version 0.67.
Upstream has edited the change log file since the last release in
a non-trivial way, i.e. they did more than just add a new entry
at the top. You can review the file at:
http://hackage.haskell.org/package/brick-0.67/src/CHANGELOG.md
* Sat Nov 20 2021 psimons@suse.com
- Update brick to version 0.65.
0.65
- ---
New features and API changes:
* Viewports got support for built-in scroll bar rendering. This
includes additions of types and functions to manage the feature
behavior. These changes enable viewports to automatically get
scroll bars drawn next to them (on any side) with customizable
attributes and drawings. As part of this change, a new demo program,
`ViewportScrollbarsDemo.hs`, was added to show off these new
features. Here are the new types and functions that got added (mostly
to `Brick.Widgets.Core`):
* `withVScrollBars` - enable display of vertical scroll bars
* `withHScrollBars` - enable display of horizontal scroll bars
* `withClickableVScrollBars` - enable mouse click reporting on
vertical scroll bar elements
* `withClickableHScrollBars` - enable mouse click reporting on
horizontal scroll bar elements
* `ClickableScrollbarElement` - the type of elements of a scroll bar
that can be clicked on and provided to the application
* `withVScrollBarHandles` - enable vertical scroll bar handle drawing
* `withHScrollBarHandles` - enable horizontal scroll bar handle
drawing
* `withVScrollBarRenderer` - customize the renderer used for vertical
scroll bars
* `withHScrollBarRenderer` - customize the renderer used for
horizontal scroll bars
* `ScrollbarRenderer(..)` - the type of scroll bar renderer
implementations
* `verticalScrollbarRenderer` - the default renderer for vertical
scrollbars, customizable with `withVScrollBarRenderer`
* `horizontalScrollbarRenderer` - the default renderer for horizontal
scrollbars, customizable with `withHScrollBarRenderer`
* `scrollbarAttr` - the base attribute of scroll bars
* `scrollbarTroughAttr` - the attribute of scroll bar troughs
* `scrollbarHandleAttr` - the attribute of scroll bar handles
Package changes:
* Raised `base` bounds to allow building with GHC 9.2.1 (thanks Mario
Lang)
* Stopped supporting GHC 7.10.
* Mon Nov 01 2021 psimons@suse.com
- Update brick to version 0.64.2.
0.64.2
- -----
Bug fixes:
* `Brick.Themes.saveTheme` now correctly saves background colors (#338)
* `Brick.Widgets.List.listMoveToEnd` now uses the correct destination
index (#337)
* Mon Sep 20 2021 psimons@suse.com
- Update brick to version 0.64.1.
Upstream has edited the change log file since the last release in
a non-trivial way, i.e. they did more than just add a new entry
at the top. You can review the file at:
http://hackage.haskell.org/package/brick-0.64.1/src/CHANGELOG.md
* Wed Aug 25 2021 psimons@suse.com
- Update brick to version 0.64.
Upstream has edited the change log file since the last release in
a non-trivial way, i.e. they did more than just add a new entry
at the top. You can review the file at:
http://hackage.haskell.org/package/brick-0.64/src/CHANGELOG.md
* Fri Apr 30 2021 psimons@suse.com
- Update brick to version 0.62.
0.62
- ---
API changes:
* `Brick.Widgets.Core` got new functions
`crop{Left,Right,Bottom,Top}To`. Unlike the `crop...By` functions,
which crop on the specified side by a particular amount, these
`crop...To` functions crop on the specified side and take a desired
overall width of the final result and use that to determine how much
to crop. A widget `x` of width `w` could thus be cropped equivalently
with `cropLeftBy a x` and `cropLeftTo (w - a) x`.
Other changes:
* Added `programs/CroppingDemo.hs` to demonstrate the new (and
preexisting) cropping functions.
* Fri Apr 09 2021 psimons@suse.com
- Update brick to version 0.61.
0.61
- ---
API changes:
* Brick.Forms got `editShowableFieldWithValidate`, a generalization
of `editShowableField` that allows the caller to specify an
additional validation function (thanks Ben Selfridge)
* Tue Apr 06 2021 psimons@suse.com
- Update brick to version 0.60.2 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
* Mon Feb 08 2021 psimons@suse.com
- Update brick to version 0.60.2.
0.60.2
- -----
Bug fixes:
* Widgets reported as `clickable` are now reported as clickable even
when their renderings are cached with `cached` (#307; thanks Hari
Menon)
* Wed Feb 03 2021 psimons@suse.com
- Update brick to version 0.60.1.
0.60.1
- -----
Bug fixes:
* `table []` no longer raises `TEUnequalRowSizes`.
0.60
- ---
New features:
* Added `Brick.Widgets.Table` to support drawing basic tables. See
`programs/TableDemo.hs` for a demonstration (`cabal new-run -f demos
brick-table-demo`).
* Fri Jan 29 2021 psimons@suse.com
- Update brick to version 0.59.
0.59
- ---
API changes:
* `Brick.Widgets.List` got `listMoveToBeginning` and `listMoveToEnd`
functions
* `Extent`: removed the unused `extentOffset` field
Bug fixes:
* Fixed a crash in the border rewriting code that attempted to rewrite
empty images (#305) (thanks @dmwit)
* Tue Dec 29 2020 psimons@suse.com
- Update brick to version 0.58.1.
0.58.1
- -----
Bug fixes:
* Removed a defunct failing test from the List test suite
* Tue Dec 22 2020 psimons@suse.com
- Update brick to version 0.58.
0.58
- ---
Package changes:
* Updated dependency constraints to build on GHC 9.0.1 (thanks Ondřej
Súkup)
API changes:
* The FileBrowser module now exports individual functions for
each of the events that it handles. This allows end users to
trigger the behaviors directly rather than relying on the built-in
`handleFileBrowserEvent` function. The documentation has been updated
to indicate which functions are triggered by each key event. (Thanks
David B. Lamkins)
Other changes:
* The `List` module's `listFindBy` function now attempts to find a
match anywhere in the list rather than just somewhere between the
cursor and the end of the list.
* The `FileBrowser` now positions a cursor at the beginning of the
selected entry when the file browser is focused. (thanks Mario Lang)
* The user guide's viewport visibility example got an important
syntactic fix. (thanks Mario Lang)
* Thu Dec 17 2020 Ond?ej Súkup <mimi.vx@gmail.com>
- disable %{ix86} build
* Sun Nov 15 2020 psimons@suse.com
- Update brick to version 0.57.1 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
* Sun Nov 15 2020 psimons@suse.com
- Update brick to version 0.57.1.
0.57.1
- -----
Bug fixes:
* Fixed a small space leak in the main rendering loop (#260)
* Get `TailDemo` building on more versions of GHC
* Tue Oct 06 2020 psimons@suse.com
- Update brick to version 0.57.
0.57
- ---
Package changes:
* Raised lower bound on `vty` to 5.31 to get the new `strikethrough`
style.
New features:
* Added support for the `strikethrough` style in Brick theme
customization files.
* Sun Sep 27 2020 psimons@suse.com
- Update brick to version 0.56.
0.56
- ---
Package changes:
* Increased upper bound for `base` to support GHC 8.10.2 (thanks Ryan
Scott)
API changes:
* Added `Brick.Forms.updateFormState` to update the state contained
within (and managed by) a Form. This function takes care of the
details of updating the form fields themselves to be consistent with
the change in underlying state.
* Added the overall window width (`windowWidth`) and height
(`windowHeight`) to `Context`, the rendering context type (thanks Tom
McLaughlin)
Other changes:
* Added `brick-tail-demo`, a demonstration program for writing a
`tail`-style output-following interface.
* Updated `Brick.Widgets.ProgressBar` so that it handles near-endpoint
cases more naturally (fixes #281)
* Mon Aug 31 2020 psimons@suse.com
- Update brick to version 0.55 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
* Tue Aug 18 2020 Peter Simons <psimons@suse.com>
- Replace %setup -q with the more modern %autosetup macro.
Version: 0.18-bp150.2.3
* Thu Aug 03 2017 psimons@suse.com
- Updated with latest spec-cleaner version 0.9.8-8-geadfbbf.
* Thu Jul 27 2017 psimons@suse.com
- Update to version 0.18.
* Mon Mar 27 2017 psimons@suse.com
- Update to version 0.17.2 with cabal2obs.
* Mon Feb 27 2017 psimons@suse.com
- Update to version 0.17.1 with cabal2obs.
* Sun Feb 12 2017 psimons@suse.com
- Update to version 0.17 with cabal2obs.