Browse Source

Further specification

dirkson 6 months ago
parent
commit
25c1b1fa9d
2 changed files with 55 additions and 13 deletions
  1. 54
    12
      README.md
  2. 1
    1
      scripts/win64cross.txt

+ 54
- 12
README.md View File

@@ -2,9 +2,22 @@
2 2
 
3 3
 Hi. My name is boksi. I am a C89 cross platform library for putting a message box on the screen.
4 4
 
5
-On Windows and OSX, native guis exist that boksi takes advantage of to put a message box on the screen. On other posix operating systems, however, life is more difficult - We don't know if we'll have access to X11, Wayland, GTK, QT, etc. etc. Therefore, on operating systems like bsd and linux, boksi uses libdynload to attempt to find a usable library. It will attempt to use gtk3, gtk2, some system utillities, ncurses, etc.
5
+## What is it?
6 6
 
7
-Boksi is not an error logging library in itself, but can be implemented as part of one. LibLob will be one such library as Boksi matures.
7
++ MIT licensed
8
++ C89
9
++ Cross-Platform - Windows/OSX/Linux/BSD/POSIX
10
+
11
+## What is it not?
12
+
13
++ It's not a logging/error reporting library, although it could be implemented as part of one. (See: 'lob')
14
++ It does not provide anything but basic message boxes. (See: 'tinyfiledialogs')
15
+
16
+## Why?
17
+
18
+On Windows and OSX, native guis exist that boksi takes advantage of to put a message box on the screen. On other posix operating systems, however, life is more difficult - We don't know if we'll have access to X11, Wayland, GTK, QT, etc. etc. Therefore, on operating systems like bsd and linux, boksi uses libdynload to attempt to find a usable library.
19
+
20
+Boksi, by default, will exhaustively try every method it's been compiled with. It will create a message box if one is at all possible.
8 21
 
9 22
 ## Example
10 23
 
@@ -22,14 +35,19 @@ For more complex usage, see src/example/complex.c
22 35
 ## Dependencies
23 36
 
24 37
 To build, you will need the following dependencies:
25
-	* Meson/ninja
26
-	* Clang or GCC
38
+
39
++ Meson/ninja
40
++ Clang or GCC
27 41
 
28 42
 Optionally, you may need some of the following dev packages:
29
-	* gtk2/3
30
-	* libui
31
-	* ncurses
32
-	* X11
43
+
44
++ gtk2/3
45
++ libui
46
++ ncurses
47
++ X11
48
++ glfw
49
++ sdl
50
++ xcb
33 51
 
34 52
 "Dynload" is also required, but it is automatically grabbed by the build script
35 53
 
@@ -51,14 +69,38 @@ To build the examples, just leave off the 'libboksi.a'.
51 69
 
52 70
 Meson can also generate a .so if you really need one.
53 71
 
72
+## Supported methods
73
+
74
++ Windows "MessageBox"
75
++ GTK3
76
++ Ncurses
77
++ Stdout
78
+
54 79
 ## TODO
55 80
 
81
++ Fix libui
82
++ Fix Xaw
83
++ Fix Xt
84
++ Fix Xlib
85
++ Fix GTK2
56 86
 + Add actual support for OSX.
57
-+ Add support for some sort of opengl-based rendering across all platforms - glfw/nuklear is probably a good option
58
-+ Add support for stderr
59
-+ Fix the various non-functional partial implementations
87
++ Add stderr
88
++ Add support for Wayland
89
++ Add glfw/nuklear
90
++ Add sdl/nuklear
91
++ Add gdi/nuklear
92
++ Add x11/nuklear
93
++ Add XCB
94
++ Add Zenity
95
++ Add kdialog
96
++ Add linux's "dialog"
97
++ Add Applescript
98
++ Expand to C++
99
++ + FLTK
100
++ + WxWidget
101
++ + Qt
60 102
 
61 103
 ## Other options
62 104
 
63
-* TinyFileDialogs ( https://github.com/native-toolkit/tinyfiledialogs )
105
++ TinyFileDialogs ( https://github.com/native-toolkit/tinyfiledialogs )
64 106
 

+ 1
- 1
scripts/win64cross.txt View File

@@ -5,7 +5,7 @@ cpp = 'x86_64-w64-mingw32.static-g++'
5 5
 ar = 'x86_64-w64-mingw32.static-ar'
6 6
 strip = 'x86_64-w64-mingw32.static-strip'
7 7
 pkgconfig = 'x86_64-w64-mingw32.static-pkg-config'
8
-exe_wrapper = 'true' # A command used to run generated executables.
8
+#exe_wrapper = 'true' # A command used to run generated executables.
9 9
 
10 10
 [properties]
11 11
 has_function_printf = true

Loading…
Cancel
Save