#
59dfa24d |
| 20-Aug-2010 |
Arnaud Lacombe <lacombar@gmail.com> |
kconfig: rephrase help text not to mention the internal prefix
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Reviewed-by: Michal Marek <mmarek@suse.
kconfig: rephrase help text not to mention the internal prefix
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Reviewed-by: Michal Marek <mmarek@suse.cz>
show more ...
|
Revision tags: v2.6.35, v2.6.35-rc6, v2.6.35-rc5, v2.6.35-rc4, v2.6.35-rc3, v2.6.35-rc2, v2.6.35-rc1, v2.6.34, v2.6.34-rc7 |
|
#
f9447c49 |
| 07-May-2010 |
Li Zefan <lizf@cn.fujitsu.com> |
menuconfig: improive help text a bit
Suggested-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Acked-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by
menuconfig: improive help text a bit
Suggested-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Acked-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
show more ...
|
Revision tags: v2.6.34-rc6, v2.6.34-rc5 |
|
#
22c7eca6 |
| 13-Apr-2010 |
Li Zefan <lizf@cn.fujitsu.com> |
menuconfig: add support to show hidden options which have prompts
Usage: Press <Z> to show all config symbols which have prompts.
Quote Tim Bird:
| I've been bitten by this numerous times. I mo
menuconfig: add support to show hidden options which have prompts
Usage: Press <Z> to show all config symbols which have prompts.
Quote Tim Bird:
| I've been bitten by this numerous times. I most often | use ftrace on ARM, but when I go back to x86, I almost | always go through a sequence of searching for the | function graph tracer in the menus, then realizing it's | completely missing until I disable CC_OPTIMIZE_FOR_SIZE. | | Is there any way to have the menu item appear, but be | unsettable unless the SIZE option is disabled? I'm | not a Kconfig guru...
I myself found this useful too. For example, I need to test ftrace/tracing and want to be sure all the tracing features are enabled, so I enter the "Tracers" menu, and press <Z> to see if there is any config hidden.
I also noticed gconfig and xconfig have a button "Show all options", but that's a bit too much, and I think normally what we are not interested in those configs which have no prompt thus can't be changed by users.
Exmaple:
--- Tracers -*- Kernel Function Tracer - - Kernel Function Graph Tracer [*] Interrupts-off Latency Tracer - - Preemption-off Latency Tracer [*] Sysprof Tracer
Here you can see 2 tracers are not selectable, and then can find out how to make them selectable.
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
show more ...
|
Revision tags: v2.6.34-rc4, v2.6.34-rc3, v2.6.34-rc2, v2.6.34-rc1, v2.6.33, v2.6.33-rc8, v2.6.33-rc7, v2.6.33-rc6, v2.6.33-rc5, v2.6.33-rc4, v2.6.33-rc3, v2.6.33-rc2, v2.6.33-rc1, v2.6.32 |
|
#
692d97c3 |
| 25-Nov-2009 |
nir.tzachar@gmail.com <nir.tzachar@gmail.com> |
kconfig: new configuration interface (nconfig)
This patch was inspired by the kernel projects page, where an ncurses replacement for menuconfig was mentioned (by Sam Ravnborg).
Building on menuconf
kconfig: new configuration interface (nconfig)
This patch was inspired by the kernel projects page, where an ncurses replacement for menuconfig was mentioned (by Sam Ravnborg).
Building on menuconfig, this patch implements a more modern look interface using ncurses and ncurses' satellite libraries (menu, panel, form). The implementation does not depend on lxdialog, which is currently distributed with the kernel.
Signed-off-by: Nir Tzachar <nir.tzachar@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
show more ...
|
#
da60fbbc |
| 20-Dec-2009 |
Vadim Bendebury (вб) <vbendeb@google.com> |
menuconfig: wrap long help lines
Help text for certain config options is very extensive (the text includes the names of all other options the option in question depends on). Long lines are not wrap
menuconfig: wrap long help lines
Help text for certain config options is very extensive (the text includes the names of all other options the option in question depends on). Long lines are not wrapped, making it impossible to see the list without scrolling horizontally.
This patch adds some logic which wraps help screen lines at word boundaries to prevent truncating.
Tested by running
ARCH=powerpc make menuconfig O=/tmp/build
which shows that the long lines are now wrapped, and
ARCH=powerpc make xconfig O=/tmp/build
to demonstrate that it still compiles and operates as expected.
Signed-off-by: Vadim Bendebury <vbendeb@google.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
show more ...
|
Revision tags: v2.6.32-rc8 |
|
#
af901ca1 |
| 14-Nov-2009 |
André Goddard Rosa <andre.goddard@gmail.com> |
tree-wide: fix assorted typos all over the place
That is "success", "unknown", "through", "performance", "[re|un]mapping" , "access", "default", "reasonable", "[con]currently", "temperature" , "chan
tree-wide: fix assorted typos all over the place
That is "success", "unknown", "through", "performance", "[re|un]mapping" , "access", "default", "reasonable", "[con]currently", "temperature" , "channel", "[un]used", "application", "example","hierarchy", "therefore" , "[over|under]flow", "contiguous", "threshold", "enough" and others.
Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
show more ...
|
Revision tags: v2.6.32-rc7, v2.6.32-rc6, v2.6.32-rc5, v2.6.32-rc4, v2.6.32-rc3, v2.6.32-rc1, v2.6.32-rc2, v2.6.31, v2.6.31-rc9, v2.6.31-rc8, v2.6.31-rc7, v2.6.31-rc6, v2.6.31-rc5, v2.6.31-rc4, v2.6.31-rc3 |
|
#
1d525e7c |
| 12-Jul-2009 |
Cheng Renquan <crquan@gmail.com> |
kconfig: make use of menu_get_ext_help in menuconfig
The removed functions are moved into menu.c for sharing with gconfig & xconfig & config.
Signed-off-by: Cheng Renquan <crquan@gmail.com> Cc: Rom
kconfig: make use of menu_get_ext_help in menuconfig
The removed functions are moved into menu.c for sharing with gconfig & xconfig & config.
Signed-off-by: Cheng Renquan <crquan@gmail.com> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
show more ...
|
#
d0e1e095 |
| 05-Jul-2009 |
Arnaud Lacombe <lacombar@gmail.com> |
kconfig: initialize the screen before using curses(3) functions
This is needed on non ncurses based implementation to get a properly initialized `stdscr' in main().
Cc: Roman Zippel <zippel@linux-m
kconfig: initialize the screen before using curses(3) functions
This is needed on non ncurses based implementation to get a properly initialized `stdscr' in main().
Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
show more ...
|
Revision tags: v2.6.31-rc2, v2.6.31-rc1, v2.6.30, v2.6.30-rc8, v2.6.30-rc7, v2.6.30-rc6, v2.6.30-rc5, v2.6.30-rc4, v2.6.30-rc3, v2.6.30-rc2, v2.6.30-rc1, v2.6.29, v2.6.29-rc8, v2.6.29-rc7, v2.6.29-rc6 |
|
#
af6c1598 |
| 15-Feb-2009 |
Peter Korsgaard <jacmet@sunsite.dk> |
kconfig: handle comment entries within choice/endchoice
Implement support for comment entries within choice groups. Comment entries are displayed visually distinct from normal configs, and selecting
kconfig: handle comment entries within choice/endchoice
Implement support for comment entries within choice groups. Comment entries are displayed visually distinct from normal configs, and selecting them is a no-op.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
show more ...
|
Revision tags: v2.6.29-rc5, v2.6.29-rc4, v2.6.29-rc3, v2.6.29-rc2, v2.6.29-rc1, v2.6.28, v2.6.28-rc9, v2.6.28-rc8, v2.6.28-rc7, v2.6.28-rc6, v2.6.28-rc5, v2.6.28-rc4, v2.6.28-rc3, v2.6.28-rc2, v2.6.28-rc1, v2.6.27, v2.6.27-rc9, v2.6.27-rc8, v2.6.27-rc7, v2.6.27-rc6, v2.6.27-rc5, v2.6.27-rc4, v2.6.27-rc3, v2.6.27-rc2, v2.6.27-rc1, v2.6.26, v2.6.26-rc9, v2.6.26-rc8, v2.6.26-rc7, v2.6.26-rc6, v2.6.26-rc5, v2.6.26-rc4, v2.6.26-rc3, v2.6.26-rc2 |
|
#
c4143a83 |
| 04-May-2008 |
Sam Ravnborg <sam@ravnborg.org> |
kconfig: fix MAC OS X warnings in menuconfig
Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Acked-by: Timur Tabi <timur@freescale.com>
|
Revision tags: v2.6.26-rc1, v2.6.25, v2.6.25-rc9, v2.6.25-rc8, v2.6.25-rc7, v2.6.25-rc6, v2.6.25-rc5, v2.6.25-rc4, v2.6.25-rc3, v2.6.25-rc2, v2.6.25-rc1 |
|
#
36ef805b |
| 02-Feb-2008 |
Sam Ravnborg <sam@ravnborg.org> |
kconfig: mark config as changed when loading an alternate config
Michal Zachar <mgzachar@mail.t-com.sk> reported that menuconfig did not save the new config when loading an alternate config unless h
kconfig: mark config as changed when loading an alternate config
Michal Zachar <mgzachar@mail.t-com.sk> reported that menuconfig did not save the new config when loading an alternate config unless he altered it manually.
Mark config as changed upon load of alternate config fixed this.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Roman Zippel <zippel@linux-m68k.org>
show more ...
|
Revision tags: v2.6.24, v2.6.24-rc8 |
|
#
413f006b |
| 11-Jan-2008 |
EGRY Gabor <gaboregry1@t-online.hu> |
kconfig: gettext support for menuconfig
Full gettext support for menuconfig.
Signed-off-by: Egry Gabor <gaboregry1@t-online.hu> Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Sam Ravnb
kconfig: gettext support for menuconfig
Full gettext support for menuconfig.
Signed-off-by: Egry Gabor <gaboregry1@t-online.hu> Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Roman Zippel <zippel@linux-m68k.org>
show more ...
|
Revision tags: v2.6.24-rc7, v2.6.24-rc6 |
|
#
09af091f |
| 17-Dec-2007 |
Ladislav Michl <ladis@linux-mips.org> |
kconfig: make kconfig MinGW friendly
Kconfig is powerfull tool. So powerfull that more and more software projects are using it for configuration. So instead of fixing some of them one by one, lets f
kconfig: make kconfig MinGW friendly
Kconfig is powerfull tool. So powerfull that more and more software projects are using it for configuration. So instead of fixing some of them one by one, lets fix it in kernel and wait for sync.
This work was originaly done for PTXdist - GPL licensed build system for userlands and cross-compilers, but it will not hurt kernel kconfig either. PTXdist menuconfig now works on Windows linked with PDCurses and compiled using MinGW - there is no termios and signals.
* Do not include <sys/wait.h> and <signal.h> (comes from times when lxdialog was separate process) * Do not mess with termios directly and let curses tell screen size. Comment to commit c8dc68ad0fbd934e78e913b8a8d7b45945db4930 says check for screen size could be removed later, but because it didn't happen for more than year I left it here as well. * Save cursor position added by Sam
Signed-off-by: Ladislav Michl <ladis@linux-mips.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Roman Zippel <zippel@linux-m68k.org>
show more ...
|
Revision tags: v2.6.24-rc5, v2.6.24-rc4, v2.6.24-rc3, v2.6.24-rc2, v2.6.24-rc1, v2.6.23 |
|
#
b5d609db |
| 02-Oct-2007 |
Matej Laitl <strohel@gmail.com> |
kconfig/menuconfig: distinguish between selected-by-another options and comments
menuconfig currently represents options implied by another option ('select' directive in Kconfig) by prefixing them w
kconfig/menuconfig: distinguish between selected-by-another options and comments
menuconfig currently represents options implied by another option ('select' directive in Kconfig) by prefixing them with '---'. Unfortunately the same notation is used for comments. If the implied option is module capable, user can still switch between Y and M, all without any feedback until she visits option's help. (try saying M to MAC80211 and then toggling CFG80211)
This patch changes notation of selected-by-another items by introducing 2 new representations for implied options: {*} or {M} for options selected by another modularized one, thus builtin or module capable, -*- or -M- for options that cannot be at the moment changed by user.
The idea is to represent actual capability of the option by braces (dashes) around and to always report actual state by * or M inside.
Signed-off-by: Matej Laitl <strohel@gmail.com> Acked-by: Randy Dunlap <randy.dunlap@oracle.com> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
show more ...
|
Revision tags: v2.6.23-rc9, v2.6.23-rc8, v2.6.23-rc7 |
|
#
a67cb131 |
| 19-Sep-2007 |
Sam Ravnborg <sam@ravnborg.org> |
kconfig: fix segv fault in menuconfig
With specific configurations requesting help for certain menu lines caused menuconfig to crash. This was tracked down to a null pointer bug. Thanks to "Miles La
kconfig: fix segv fault in menuconfig
With specific configurations requesting help for certain menu lines caused menuconfig to crash. This was tracked down to a null pointer bug. Thanks to "Miles Lane" <miles.lane@gmail.com> for inital reporting and to Gabriel C <nix.or.die@googlemail.com> for the backtrace that helped me locating the bug.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
show more ...
|
#
48874077 |
| 18-Sep-2007 |
Sam Ravnborg <sam@ravnborg.org> |
kconfig: make comments stand out in menuconfig
Matěj Laitl <strohel@gmail.com> noticed that there was no way to distingush between comments and un-selectable menu lines. This patch marks comments wi
kconfig: make comments stand out in menuconfig
Matěj Laitl <strohel@gmail.com> noticed that there was no way to distingush between comments and un-selectable menu lines. This patch marks comments with *** comment ***
Cc: Matěj Laitl <strohel@gmail.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
show more ...
|
Revision tags: v2.6.23-rc6, v2.6.23-rc5, v2.6.23-rc4, v2.6.23-rc3, v2.6.23-rc2, v2.6.23-rc1 |
|
#
03d29122 |
| 20-Jul-2007 |
Sam Ravnborg <sam@ravnborg.org> |
kconfig: attach help text to menus
Roman Zippel wrote: > A simple example would be > help texts, right now they are per symbol, but they should really be per > menu, so archs can provide different h
kconfig: attach help text to menus
Roman Zippel wrote: > A simple example would be > help texts, right now they are per symbol, but they should really be per > menu, so archs can provide different help texts for something.
This patch does this and at the same time introduce a few API funtions used to access the help text.
The relevant api functions are introduced in the various frontends.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Roman Zippel <zippel@linux-m68k.org>
show more ...
|
#
0584f9f9 |
| 09-Jul-2007 |
Bernhard Walle <bwalle@suse.de> |
kconfig: strip 'CONFIG_' automatically in kernel configuration search
Modify the ncurses configuration tool ('make menuconfig') in a way that the user can enter the search string (/) both with or wi
kconfig: strip 'CONFIG_' automatically in kernel configuration search
Modify the ncurses configuration tool ('make menuconfig') in a way that the user can enter the search string (/) both with or without the leading 'CONFIG_'.
This simplifies using copy & paste from .config files because you can select the whole word.
Signed-off-by: Bernhard Walle <bwalle@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
show more ...
|
Revision tags: v2.6.22, v2.6.22-rc7, v2.6.22-rc6, v2.6.22-rc5, v2.6.22-rc4, v2.6.22-rc3, v2.6.22-rc2, v2.6.22-rc1, v2.6.21, v2.6.21-rc7, v2.6.21-rc6 |
|
#
d802b50f |
| 01-Apr-2007 |
Sam Ravnborg <sam@neptun.ravnborg.org> |
kconfig/menuconfig: do not hardcode '.config'
Export and use the function conf_get_configname() to retreive the default configuration filename.
Suggested by: Roman Zippel <zippel@linux-m68k.org>
S
kconfig/menuconfig: do not hardcode '.config'
Export and use the function conf_get_configname() to retreive the default configuration filename.
Suggested by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
show more ...
|
Revision tags: v2.6.21-rc5 |
|
#
95e30f95 |
| 18-Mar-2007 |
Sam Ravnborg <sam@ravnborg.org> |
menuconfig: remember alternate config filename
When loading an alternate configuration use that file as current configuration filename. Make the filename visible in the dialog. Default continue to b
menuconfig: remember alternate config filename
When loading an alternate configuration use that file as current configuration filename. Make the filename visible in the dialog. Default continue to be .config.
Inspired by patch from: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Cyrill Gorcunov <gorcunov@gmail.com>
show more ...
|
Revision tags: v2.6.21-rc4, v2.6.21-rc3, v2.6.21-rc2, v2.6.21-rc1, v2.6.20, v2.6.20-rc7, v2.6.20-rc6, v2.6.20-rc5, v2.6.20-rc4, v2.6.20-rc3, v2.6.20-rc2, v2.6.20-rc1 |
|
#
b3214293 |
| 13-Dec-2006 |
Karsten Wiese <annabellesgarden@yahoo.de> |
[PATCH] kconfig: new function "bool conf_get_changed(void)"
Run "make xconfig" on a freshly untarred kernel-tree. Look at the floppy disk icon of the qt application, that has just started: Its in a
[PATCH] kconfig: new function "bool conf_get_changed(void)"
Run "make xconfig" on a freshly untarred kernel-tree. Look at the floppy disk icon of the qt application, that has just started: Its in a normal, active state.
Mouse click on it: .config is being saved.
This patch series changes things so taht after the mouse click on the floppy disk icon, the icon is greyed out. If you mouse click on it now, nothing happens.
If you change some CONFIG_*, the floppy disk icon returns to "active state", that is, if you mouse click it now, .config is written.
This patch:
Returns sym_change_count to reflect the .config's change state. All read only accesses of sym_change_count are replaced by calls to conf_get_changed() . mconfig.c is manipulated to ask for saving only when conf_get_changed() returned true.
Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Roman Zippel <zippel@linux-m68k.org> Acked-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
show more ...
|
Revision tags: v2.6.19, v2.6.19-rc6, v2.6.19-rc5, v2.6.19-rc4, v2.6.19-rc3, v2.6.19-rc2, v2.6.19-rc1 |
|
#
e94c5bde |
| 25-Sep-2006 |
Sam Ravnborg <sam@neptun.ravnborg.org> |
kconfig/menuconfig: do not let ncurses clutter screen on exit
Do not initialize ncurses twice - it causes unpredicable results. My display was sometimes weird after running make menuconfig and I had
kconfig/menuconfig: do not let ncurses clutter screen on exit
Do not initialize ncurses twice - it causes unpredicable results. My display was sometimes weird after running make menuconfig and I had to execute 'reset' to properly restore my display.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
show more ...
|
Revision tags: v2.6.18, v2.6.18-rc7, v2.6.18-rc6, v2.6.18-rc5, v2.6.18-rc4, v2.6.18-rc3 |
|
#
c8dc68ad |
| 29-Jul-2006 |
Sam Ravnborg <sam@mars.ravnborg.org> |
kconfig/lxdialog: support resize
In all dialogs now properly catch KEY_RESIZE and take proper action. In mconf try to behave sensibly when a dialog routine returns -ERRDISPLAYTOOSMALL.
The original
kconfig/lxdialog: support resize
In all dialogs now properly catch KEY_RESIZE and take proper action. In mconf try to behave sensibly when a dialog routine returns -ERRDISPLAYTOOSMALL.
The original check for a screnn size of 80x19 is kept for now. It may make sense to remove it later, but thats anyway what much text is adjusted for.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
show more ...
|
#
f3cbcdc9 |
| 28-Jul-2006 |
Sam Ravnborg <sam@mars.ravnborg.org> |
kconfig/lxdialog: let <ESC><ESC> behave as expected
<ESC><ESC> is used to step one back in the dialogs. When lxdialog became built-in pressing <ESC> once would cause one step back and pressing <ESC>
kconfig/lxdialog: let <ESC><ESC> behave as expected
<ESC><ESC> is used to step one back in the dialogs. When lxdialog became built-in pressing <ESC> once would cause one step back and pressing <ESC><ESC> would cause two steps back. This patch - based on concept from Roman Zippel <zippel@linux-m68k.org> - makes one <ESC> a noop and pressing <ESC><ESC> will cause one step backward.
In addition the final yes/no dialog now has the option to go back to the the kernel configuration. So if you get too far out you can now go back to configuring the kernel without saving and starting all over again.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
show more ...
|
#
2982de69 |
| 27-Jul-2006 |
Sam Ravnborg <sam@mars.ravnborg.org> |
kconfig/menuconfig: lxdialog is now built-in
lxdialog was previously called as an external program causing screen to flicker when used. With this patch lxdialog is now built-in. It is loosly based o
kconfig/menuconfig: lxdialog is now built-in
lxdialog was previously called as an external program causing screen to flicker when used. With this patch lxdialog is now built-in. It is loosly based om previous work by: Petr Baudis <pasky@ucw.cz>
Following is a list of changes: o Moved build of dialog routings to kconfig Makefile o menubox + checklist uses a new item list to hold all menu items o in util.c implmented helper function to deal with item list o menubox now uses parameters to save scroll state (avoids temp file) o textbox now get text to be displayed as parameter and not a file o make sure to properly delete subwin's before main windows o killed unused files: lxdialog.c msgbox.c o modified return value for ESC to match direct calling o in a few places the code has been adjusted to 80 char wide o in textbox a small refactoring was made to make code remotely readable o in mconf removed all unused stuff (functions/variables)
Following is a list of know short comings: a) pressing ESC twice will be interpreted as two ESC presses b) resize does not work. menuconfig needs to be restarted to be adjusted
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
show more ...
|