You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+22-12Lines changed: 22 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,8 +19,6 @@ Features:
19
19
- Optional Zenity support on Linux to avoid linking GTK.
20
20
- Tested, works alongside [http://www.libsdl.org](SDL2) on all platforms, for the game developers out there.
21
21
22
-
**Note:** I am considering deprecating mingw support on Windows. Please contribute your thoughts at [this issue](https://github.com/mlabbe/nativefiledialog/issues/68).
23
-
24
22
# Example Usage #
25
23
26
24
```C
@@ -49,7 +47,7 @@ int main( void )
49
47
}
50
48
```
51
49
52
-
See [NFD.h](src/include/nfd.h) for more options.
50
+
See self-documenting API [NFD.h](src/include/nfd.h) for more options.
53
51
54
52
# Screenshots #
55
53
@@ -59,33 +57,40 @@ See [NFD.h](src/include/nfd.h) for more options.
59
57
60
58
## Changelog ##
61
59
60
+
- **Major** version increments denote API or ABI departure.
61
+
- **Minor** version increments denote build or trivial departures.
62
+
- **Micro** version increments just recompile and drop-in.
63
+
62
64
release | what's new | date
63
65
--------|-----------------------------|---------
64
66
1.0.0 | initial | oct 2014
65
67
1.1.0 | premake5; scons deprecated | aug 2016
66
68
1.1.1 | mingw support, build fixes | aug 2016
67
69
1.1.2 | test_pickfolder() added | aug 2016
68
70
1.1.3 | zenity linux backend added | nov 2017
69
-
1.1.3 | fix char type in decls | nov 2017
71
+
<i></i> | fix char type in decls | nov 2017
70
72
1.1.4 | fix win32 memleaks | dec 2018
71
-
1.1.4 | improve win32 errorhandling | dec 2018
72
-
1.1.4 | macos fix focus bug | dec 2018
73
+
<i></i> | improve win32 errorhandling | dec 2018
74
+
<i></i> | macos fix focus bug | dec 2018
73
75
1.1.5 | win32 fix com reinitialize | aug 2019
74
-
76
+
1.1.6 | fix osx filter bug | aug 2019
77
+
<i></i> | remove deprecated scons | aug 2019
78
+
<i></i> | fix mingw compilation | aug 2019
79
+
<i></i> | -Wextra warning cleanup | aug 2019
75
80
76
81
## Building ##
77
82
78
83
NFD uses [Premake5](https://premake.github.io/download.html) generated Makefiles and IDE project files. The generated project files are checked in under `build/` so you don't have to download and use Premake in most cases.
79
84
80
85
If you need to run Premake5 directly, further [build documentation](docs/build.md) is available.
81
86
82
-
Previously, NFD used SCons to build. It still works, but is now deprecated; updates to it are discouraged. Opt to use the native build system where possible.
87
+
Previously, NFD used SCons to build. As of 1.1.6, SCons support has been removed entirely.
83
88
84
89
`nfd.a` will be built for release builds, and `nfd_d.a` will be built for debug builds.
85
90
86
91
### Makefiles ###
87
92
88
-
The makefile offers five options, with `release_x64` as the default.
93
+
The makefile offers up to four options, with `release_x64` as the default.
89
94
90
95
make config=release_x86
91
96
make config=release_x64
@@ -99,6 +104,7 @@ The makefile offers five options, with `release_x64` as the default.
99
104
3. Add `build/<debug|release>/<arch>` to the library search path.
100
105
101
106
#### Linux GTK ####
107
+
102
108
`apt-get libgtk-3-dev` installs the gtk dependency for library compilation.
103
109
104
110
On Linux, you have the option of compiling and linking against GTK. If you use it, the recommended way to compile is to include the arguments of `pkg-config --cflags --libs gtk+-3.0`.
@@ -108,16 +114,18 @@ On Linux, you have the option of compiling and linking against GTK. If you use
108
114
Alternatively, you can use the Zenity backend by running the Makefile in `build/gmake_linux_zenity`. Zenity runs the dialog in its own address space, but requires the user to have Zenity correctly installed and configured on their system.
109
115
110
116
#### MacOS ####
117
+
111
118
On Mac OS, add `AppKit` to the list of frameworks.
112
119
113
120
#### Windows ####
114
-
On Windows, ensure you are building against `comctl32.lib`.
121
+
122
+
On Windows, ensure you are linking against `comctl32.lib`.
115
123
116
124
## Usage ##
117
125
118
126
See `NFD.h` for API calls. See `tests/*.c` for example code.
119
127
120
-
After compiling, `build/bin` contains compiled test programs.
128
+
After compiling, `build/bin` contains compiled test programs. The appropriate subdirectory under `build/lib` contains the built library.
121
129
122
130
## File Filter Syntax ##
123
131
@@ -144,10 +152,12 @@ See [test_opendialogmultiple.c](test/test_opendialogmultiple.c).
144
152
145
153
# Known Limitations #
146
154
147
-
I accept quality code patches, or will resolve these and other matters through support. See [submitting pull requests](docs/submitting_pull_requests.md) for details.
155
+
I accept quality code patches, or will resolve these and other matters through support. See [contributing](docs/contributing.md) for details.
148
156
149
157
- No support for Windows XP's legacy dialogs such as `GetOpenFileName`.
150
158
- No support for file filter names -- ex: "Image Files" (*.png, *.jpg). Nameless filters are supported, however.
159
+
- GTK Zenity implementation's process exec error handling does not gracefully handle numerous error cases, choosing to abort rather than cleanup and return.
0 commit comments