package bogue
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
GUI library for ocaml, with animations, based on SDL2
Install
dune-project
Dependency
Authors
Maintainers
Sources
20250815.tar.gz
md5=991bc2e85df38feb23bddf84addd758d
sha512=8b777f7b479946528626c4112bf45600bee9aed0d94742e3eed0659f9a0517e41d0eaf398299920fd5b9f86065bd0e24035662d2df36f24f6a044c78e61dee01
doc/CHANGELOG.html
Changelog
Warning: this changelog is not complete for changes before 2023
All notable changes to the Bogue project will be documented in this file.
The format is based on Keep a Changelog.
Unreleased
Added
BOX_BG_COLOR- New module:
I18n(Internationalization), for translating string to the user's language. Configuration files for 15 languages. - New 'moonfish' theme (dark).
- Theme variables:
[DISABLED_BG]and[DISABLED_FG]. Timeout.add_ignore.Widget.remove_connection,Widget.remove_trigger.
Changed
Popup.one_buttonandPopup.two_buttonsnow have abgoptional argument.
Fixed
- Fall back to default theme if new theme is not found.
File: fix file dialog crashing when monitoring a directory being deleted.
20250219
Added
- New module:
Filefor file selection dialogs and file monitoring. This is quite a complex layout, so we decided make it public now in a beta-testing phase. New features will be added later, and maybe small API changes. - Example #54 with a file dialog.
Popupscan now be closed by pressing ESCAPE.- additional functions in
Mainfor dynamically updating global shortcuts.
Changed
- WARNING!
Table.createnow returns a private type. In order to obtain the layout you should then applyTable.get_layout. Layout.set_sizenow takes optional arguments for sizes (allows to reduce the number of calls toresize_content)Theme.set_integer_scaleis renamed toTheme.set_int_scaleto conform with the env var INT_SCALE.
20241212
Added
- New theme variable NATURAL_SCROLLING.
- New functions
Mouse.wheel_y,Mouse.set_wheel_speed. FlatandTowerhave new resizing strategies.Selectionnew functionsis_empty,size,range,first,last,invert.Tablelayouts can now be resized dynamically.- Can now navigate
tabswith TAB! ;) (preliminary) - Can now enable/disable a layout with
Layout.set_enabled. New Examples #53, #53bis. - changing text color in
Text_displayis now possible, usingWidget.html, see exemple 47. - underlining text in
Text_displayis now possible, usingWidget.html(but spaces between words are not underlined at this point), see example 6. Theme.get_pathis now public.Theme.get_font_path_optLabel.font_from_fileallows the use of arbitrary fonts in addition to the Theme fonts (which is not recommended anyways for good design).- font example 52.
Changed
- Scrolling direction is "natural" by default on Mac OS.
- Options for
Layout.flat*andLayout.tower*have changed. If you were using any ofscale_contentorkeep_resizeyou should use the newresizeoption instead. Layout.unload_texturesis renamedLayout.iter_unload_textures
Fixed
Tablelayouts can now be resized dynamically.- Better resizing for
tabs: menu height is fixed. - Better resizing for
flatandtower: margins are not scaled. Long_listlayouts can now be resized dynamically.Labelstyleparameter is now usable (ocamldoc invocation was wrong fortsdl_ttf), and can also be used forWidget.label.
Developement
- New
Resizemodule insideLayout. - clarify that
dstfield ofblitisNonemeans NO RENDERING. - experimental
Detectfor detecting flat and tower layouts.
20240928
Added
Avar.resetis now public.Layout.is_shown.Layout.insideis now public.Snapshot.to_cursor(experimental).Main.get_monitors_refresh_rate.- "NO_VSYNC" theme variable.
Changed
Main.runandTime.adaptive_fpshave an optional argumentvsync.- Enable adaptive vsync (through openGL) by default.
- There is now no difference between the types
sdl_eventandSdl.Event.enum.
Developement
- New
Time.adaptive_fpsusing swap interval. Main.get_window_refresh_rateDraw.surface_from_texture- We now use tsdl >= 1.0.0.
- We don't un/lock audio automatically anymore.
20240225
Warning: Last version compatible with tsdl < 0.9.9 (and >= 0.9.7)
Added
Text_input.activateis now publicBox.get_styleandBox.set_styleare now public.
Fixed
- Take advantage of recent SDL version to (greatly!) reduce power saving with idle.
- Fix too large cursor position when using Text_input.set
Developement
mouse_at_restnow usesTimeout.- Switch from
directoriestoxdgto work on Windows. - Remove symlinks in doc.
- The
example.mlfile is now calledexamples.ml, which is much more logical since it contains more than 50 examples. - Trying to enforce that all used submodules are aliased (to make it clear they are used) in the header of each file, example
module Time = B_time.
20231209
Added
- Use
directoriesto compute home and config paths, and add special care for Windows OS. - Deal with systems without audio device
Changed
Fixed
- fix flickering menus
- Workaround for Mac OS 13.0.1 cocoa bug when closing windows
etc.
20221112
older versions are not documented here yet...
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page