owme

所属分类:系统编程
开发工具:OCaml
文件大小:0KB
下载次数:0
上传日期:2023-08-09 19:31:01
上 传 者sh-1993
说明:  OWME窗口管理器模拟器,
(OWME Window Manager Emulator,)

文件列表:
.ocamlformat (15, 2023-08-09)
LICENSE (1072, 2023-08-09)
Makefile (784, 2023-08-09)
bin/ (0, 2023-08-09)
bin/dune (73, 2023-08-09)
bin/main.ml (4402, 2023-08-09)
dune-project (431, 2023-08-09)
find_fonts.c (558, 2023-08-09)
lib/ (0, 2023-08-09)
lib/dune (97, 2023-08-09)
lib/owme.ml (9586, 2023-08-09)
owme.opam (755, 2023-08-09)

# OWME OWME (OWME is a Window Manager Emulator) is a configurable window manager (emulator) written in OCaml. ## Usage See [bin/main.ml](https://github.com/CharlesAverill/owme/blob/master/bin/main.ml) for a usage example. ## Caveats OWME is built on top of OCaml's [`Graphics`](https://github.com/CharlesAverill/owme/blob/master/https://github.com/ocaml/graphics) libary. This provides the pro of being as portable as `Graphics` is. However, it also provides the con of being as rigid as `Graphics` is. For example, font rendering is limited to the X11 fonts provided on a user's system. OWME will (by default) choose the first font available for the default OWME font size - this may or may not be an English font depending on a user's machine configuration. The `x11_font_string` field in the `window_config` type can be set to override this behavior (in the example above, it is empty, triggering the default). Even then, the default text spacing is estimated, so manual adjustment with the `text_spacing` struct may be required. Additionally, rendering the actual window contents is left up to the user, so module-level acceleration is not possible. ## Goals I wrote this because I wanted a highly-reusable menuing system for my graphical OCaml projects, so it's not intended to be used for production software (you probably aren't writing production GUI software in OCaml anyways). Eventually I may add mouse events, such as context menus, but at the moment I just want: - [x] Menu bar - [x] Dropdowns - [ ] Text boxes - [x] Render window passed to user

近期下载者

相关文件


收藏者