- Common Lisp 95.5%
- Tcl 4.5%
|
cage
c15de01a76
- set maximum opacity for pixpam that laks alpha channel;
- save pixmap in PNG format. |
||
|---|---|---|
| src | - set maximum opacity for pixpam that laks alpha channel; | |
| test | - moved tests in another system. | |
| themes | - added theme 'forest light'. | |
| .gitignore | - added file '.gitignore'. | |
| Changelog | - updated changelog. | |
| NEWS.org | - updated news file. | |
| nodgui.asd | - set maximum opacity for pixpam that laks alpha channel; | |
| README.org | - set maximum opacity for pixpam that laks alpha channel; | |
| TODO.org | - updated changelog and TODO. | |
NODGUI
NODGUI
"No Drama GUI"
Common Lisp bindings for the Tk GUI toolkit.
important note:
Version 0.4.0 broke the user API, see
here for more information about how your code is affected and how to fix it.
Features
- custom themes
-
more widgets:
- history-entry
- autocomplete
- expanded "text" widget
- date picker
- treelist
- tooltip
- searchable listbox
- password entry
- ...
-
tklib-derived widgets:- calendar
- notify-window (a bit buggy, unfortunately)
- plots and charts: dot-plot, bar-chart...
- asynchronous main event loop
- and more
Themes
nodgui supports loading custom ttk themes and ships the "yaru" theme from the ttkthemes collection.
To use a built-in theme other than the "default" one, do:
(with-nodgui (:theme "yaru")
(code here))
or use (setf *default-theme* "yaru").
You can see how they look with the demos:
CL-USER> (nodgui.demo:demo :theme "yaru")
You can load any .tcl file describing a theme:
(nodgui:eval-tcl-file "path/to/another/theme.tcl") (nodgui:use-theme "theme")
See also *themes-directory*.
This currently doesn't work with a few themes using SVG images, but it might be fixed with the release of an upcoming Tcl/Tk version.
Dependency
Programs
- TCL/TK interpreter (version >= 8.6) https://www.tcl.tk
Lisp libraries
- alexandria;
- bordeaux-threads;
- cl-colors2;
- cl-ppcre-unicode;
- cl-unicode;
- clunit2;
- esrap;
- flexi-streams;
- jpeg-turbo;
- named-readtables;
- parse-number;
- pngload;
- zpng.
All of the above libraries are available on quicklisp.
C Libraries
- libjpeg-turbo https://www.libjpeg-turbo.org/
TCL/TK libraries (optional)
Installing
- install the tk interpreter (example on a Debian system follows)
# apt-get install tk
- optionally install tklib
# apt-get install tklib
- optionally install tkimg
# apt-get install libtk-img
- open a REPL and type
(ql:quickload "nodgui")
- try it!
(nodgui.demo:demo)
Documentation
please follow this link for documentation and news.
License
This software is Copyright (c) 2003-2010 Peter Herth <herth@peter-herth.de> Portions Copyright (c) 2005-2010 Thomas F. Burdick Portions Copyright (c) 2006-2010 Cadence Design Systems Portions Copyright (c) 2010 Daniel Herring Portions Copyright © cage
The authors grant you the rights to distribute and use this software as governed by the terms of the Lisp Lesser GNU Public License (http://opensource.franz.com/preamble.html), known as the LLGPL.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Themes
The themes definitions found in the themes/ subdirectory are
distributed with many different license, please carefully check the file
LICENSE.org in each theme's subdirectory (e.g /botato/nodgui/src/branch/master/themes/yaru/LICENSE.org) for more information.
Acknowledgment
My (cage) deep thanks to Tim Holliefield <tholliefield [at] online.de>, for all the suggestions and help about implementing the widgets styles management.