Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: ghc-brick | Distribution: openSUSE Leap 16.0 |
Version: 2.4 | Vendor: openSUSE |
Release: lp160.1.1 | Build date: Fri Jul 5 23:48:31 2024 |
Group: Unspecified | Build host: reproducible |
Size: 2763683 | Source RPM: ghc-brick-2.4-lp160.1.1.src.rpm |
Packager: https://bugs.opensuse.org | |
Url: https://hackage.haskell.org/package/brick | |
Summary: A declarative terminal user interface library |
Write terminal user interfaces (TUIs) painlessly with 'brick'! You write an event handler and a drawing function and the library does the rest. > module Main where > > import Brick > > ui :: Widget () > ui = str "Hello, world!" > > main :: IO () > main = simpleMain ui To get started, see: * <https://github.com/jtdaugherty/brick/blob/master/README.md The README> * The <https://github.com/jtdaugherty/brick/blob/master/docs/guide.rst Brick user guide> * The demonstration programs in the 'programs' directory This package deprecates <http://hackage.haskell.org/package/vty-ui vty-ui>.
BSD-3-Clause
* 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. * Thu Dec 21 2023 Peter Simons <psimons@suse.com> - Update brick to version 2.3.1. 2.3.1 - ---- Bug fixes: * Form field rendering now correctly checks for form field focus when its visibility mode is `ShowAugmentedField`. 2.3 - -- API changes: * `FormFieldVisibilityMode`'s `ShowAugmentedField` was renamed to `ShowCompositeField` to be clearer about what it does, and a new `ShowAugmentedField` constructor was added to support a mode where field augmentations applied with `@@=` are made visible as well. * 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). * Fri Aug 19 2022 Peter Simons <psimons@suse.com> - Update brick to version 1.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-1.1/src/CHANGELOG.md * Mon Aug 08 2022 Peter Simons <psimons@suse.com> - Update brick to version 1.0. 1.0 - -- Version 1.0 of `brick` comes with some improvements that will require you to update your programs. This section details the list of API changes in 1.0 that are likely to introduce breakage and how to deal with each one. You can also consult the demonstration programs to see orking examples of the new API. For those interested in a bit of discussion on the changes, see [this ticket](https://github.com/jtdaugherty/brick/issues/379). * The event-handling monad `EventM` was improved and changed in some substantial ways, all aimed at making `EventM` code cleaner, more composable, and more amenable to lens updates to the application state. * The type has changed from `EventM n a` to `EventM n s a` and is now an `mtl`-compatible state monad over `s`. Some consequences and related changes are: * Event handlers no longer take and return an explicit state value; an event handler that formerly had the type `handler :: s -> BrickEvent n e -> EventM n (Next s)` now has type `handler :: BrickEvent n e -> EventM n s ()`. This also affected all of Brick's built-in event handler functions for `List`, `Editor`, etc. * The `appHandleEvent` and `appStartEvent` fields of `App` changed types to reflect the new structure of `EventM`. `appStartEvent` will just be `return ()` rather than `return` for most applications. * `EventM` can be used with the `MonadState` API from `mtl` as well as with the very nice lens combinators in `microlens-mtl`. * The `Next` type was removed. * State-specific event handlers like `handleListEvent` and `handleEditorEvent` are now statically typed to be scoped to just the states they manage, so `zoom` from `microlens-mtl` must be used to invoke them. `Brick.Types` re-exports `zoom` for convenience. `handleEventLensed` was removed from the API in lieu of the new `zoom` behavior. Code that previously handled events with `handleEventLensed s someLens someHandler e` is now just written `zoom someLens $ someHandler e`. * If an `EventM` block needs to operate on some state `s` that is not accessible via a lens into the application state, the `EventM` block can be set up with `Brick.Types.nestEventM`. * Since `Next` was removed, control flow is now as follows: * Without any explicit specification, an `EventM` block always continues execution of the `brick` event loop when it finishes. `continue` was removed from the API. What was previously `continue $ s & someLens .~ value` will become `someLens .= value`. * `halt` is still used to indicate that the event loop should halt after the calling handler is finished, but `halt` no longer takes an explicit state value argument. * `suspendAndResume` is now immediate; previously, `suspendAndResume` indicated that the specified action should run once the event handler finished. Now, the event handler is paused while the specified action is run. This allows `EventM` code to continue to run after `suspendAndResume` is called and before control is returned to `brick`. * Brick now depends on `mtl` rather than `transformers`. * The `IsString` instance for `AttrName` was removed. * This change is motivated by the API wart that resulted from the overloading of both `<>` and string literals (via `OverloadedStrings`) that resulted in code such as `someAttrName = "blah" <> "things"`. While that worked to create an `AttrName` with two segments, it was far too easy to read as two strings concatenated. The overloading hid what is really going on with the segments of the attribute name. The way to write the above example after this change is `someAttrName = attrName "blah" <> attrName "things"`. Other changes in this release: * Brick now provides an optional API for user-defined keybindings for applications! See the User Guide section "Customizable Keybindings", the Haddock for `Brick.Keybindings.KeyDispatcher`, and the new demo program `programs/CustomKeybindingDemo.hs` to get started. * `Brick.Widgets.List` got `listSelectedElementL`, a traversal for accessing the currently selected element of a list. (Thanks Fraser Tweedale) * Sat Jul 09 2022 Peter Simons <psimons@suse.com> - Update brick to version 0.73. 0.73 - --- API changes: * Added `Brick.Widgets.Edit.getCursorPosition` (thanks @TristanCacqueray) 0.72 - --- Package changes: * Increased lower bound on `text-zipper` to `0.12`. API changes: * `handleEditorEvent` now takes a `BrickEvent` rather than just a Vty `Event`. * Brick editors now handle mouse clicks to change their cursor positions. * Tue Jul 05 2022 Peter Simons <psimons@suse.com> - Update brick to version 0.71.1. 0.71.1 - ----- Bug fixes: * Fixed an issue where `tests/Render.hs` did not gracefully exit in the presence of an unknown terminal. * Mon Jul 04 2022 Peter Simons <psimons@suse.com> - Update brick to version 0.71. 0.71 - --- Package changes: * Increased `vty` lower bound to `5.36`. API changes: * Added `tests/Render.hs` to provide a simple test of `Brick.Main.renderWidget` (thanks @valyagolev) * Added `Brick.Main.renderWidget` to help in golden testing contexts (thanks @valyagolev) Other changes: * Various `table` documentation improvements. * Sun Jun 19 2022 Peter Simons <psimons@suse.com> - Update brick to version 0.70.1. 0.70.1 - ----- Build fixes: * Added a missing import for GHC 8.2.2. 0.70 - --- Enhancements: * The table widget now behaves much better when some or all cells are empty. Bug fixes: * BorderMaps got fixed to ensure that smart borders connect even in the presence of empty widgets (#370). Thanks to Daniel Wagner for this fix! 0.69.1 - ----- Bug fixes: * `table` can now deal properly with empty cells that are in left- and top-aligned settings. Previously, empty cells in those settings would break table rendering. (#369) * Mon May 23 2022 Peter Simons <psimons@suse.com> - Update brick to version 0.69. 0.69 - --- New features: * `Brick.Widgets.Core`: added `relativeTo` to support relative positioning across layers. This allows elements in higher layers to be positioned relative to elements in lower layers as long as those elements have had their extents reported with `reportExtent` or `clickable`. * Fri Apr 01 2022 Peter Simons <psimons@suse.com> - Update brick to version 0.68.1. 0.68.1 - ----- Bug fixes: * Brick's internal book-keeping got a bug fix that caused mouse-click coordinates to be wrong for clickable regions that were translated partially off of the left or top edges of a rendered region. * Mon Mar 07 2022 Peter Simons <psimons@suse.com> - Update brick to version 0.68. 0.68 - --- API changes: * Removed the "markup" feature, which included `Data.Text.Markup`, `Brick.Markup`, and `brick-markup-demo`. This feature never performed well and was awkward to use. I considered it experimental from the initial release of this library. Some recent incompatibilities with Vty changes made me realize that it was time to finally get rid of this. If this affects you, please let me know and I am happy to work with you to figure out an alternative. Granted, anyone is welcome to dig up the previous code and re-use it in their own projects! * 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. * Tue Aug 18 2020 Peter Simons <psimons@suse.com> - Update Cabal file to accept latest base version. * Fri Jul 10 2020 psimons@suse.com - Update brick to version 0.55. 0.55 - --- Package changes: * Increased lower bound on `vty` dependency to 5.29. Bug fixes: * `customMain` now restores the initial terminal input state on shutdown. This means that changes to the input state flags in the last `suspendAndResume` before program exit are no longer propagated to the end user's terminal environment (which could lead to broken or garbled terminal I/O). * Tue Jun 09 2020 psimons@suse.com - Add brick at version 0.54.
/usr/lib64/ghc-9.8.3/lib/libHSbrick-2.4-GRzEGSSk7RgBrVBaJrAuRr-ghc9.8.3.so /usr/share/licenses/ghc-brick /usr/share/licenses/ghc-brick/LICENSE
Generated by rpm2html 1.8.1
Fabrice Bellet, Tue Nov 12 00:13:41 2024