* [kbd] New vt_mode tool for kbd?
@ 2011-03-21 21:42 Michael Schutte
2011-03-21 22:13 ` Dmitry V. Levin
2011-03-25 13:20 ` Alexey Gladkov
0 siblings, 2 replies; 13+ messages in thread
From: Michael Schutte @ 2011-03-21 21:42 UTC (permalink / raw)
To: kbd
[-- Attachment #1.1: Type: text/plain, Size: 858 bytes --]
Hi Alexey,
The console-setup package in Debian needs a way to check for the
text/graphics mode of the active VT (from a shell script). This can be
done with “setfont -v -o /dev/null”, for example, but that isn’t very
elegant. Julien Cristau has proposed a small utility (which I’m calling
“vt_mode” for now) to report this information in a canonical fashion.
I’ve adapted it to kbd; see attachment. Do you think this code is
suitable for inclusion? If so, I am going to integrate it into the
build system and write a short man page for it, so I can send you a
proper patch. I’d like to hear your opinion!
All the best,
--
Michael Schutte | michi@{uiae.at,debian.org}
Innsbruck, Austria | happily accepting encrypted mail
OpenPGP: 0x16fb 517b a866 c3f6 8f11 1485 f3e4 122f 1D8C 261A
[-- Attachment #1.2: vt_mode.c --]
[-- Type: text/x-csrc, Size: 1902 bytes --]
/*
* vt_mode: report VT mode (text or graphics)
*
* Contributed by Julien Cristau <jcristau@debian.org> in
* http://bugs.debian.org/618573;
* adapted to kbd by Michael Schutte <michi@debian.org>.
*/
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <linux/kd.h>
#include <getopt.h>
#include "getfd.h"
#include "nls.h"
#include "version.h"
static void attr_noreturn
usage(int code) {
fprintf(stderr, _("Usage: vt_mode [-C DEVICE]\n"));
exit(code);
}
int
main(int argc, char *argv[]) {
int fd, rc, mode, c;
char *console = NULL;
set_progname(argv[0]);
#ifndef __klibc__
setlocale(LC_ALL, "");
bindtextdomain(PACKAGE_NAME, LOCALEDIR);
textdomain(PACKAGE_NAME);
#endif
while ((c = getopt(argc, argv, "C:hV")) != EOF) {
switch (c) {
case 'C':
if (optarg == NULL || optarg[0] == '\0')
usage(1);
console = optarg;
break;
case 'h':
usage(0);
break;
case 'V':
print_version_and_exit();
break;
default:
usage(1);
}
}
fd = getfd(console);
rc = ioctl(fd, KDGETMODE, &mode);
if (rc < 0) {
fprintf(stderr, _("%s: Error reading VT mode.\n"), progname);
return 1;
}
switch (mode) {
case KD_TEXT:
printf("text\n");
break;
case KD_GRAPHICS:
printf("graphics\n");
break;
default:
printf("other (%d)\n", mode);
break;
}
return 0;
}
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [kbd] New vt_mode tool for kbd?
2011-03-21 21:42 [kbd] New vt_mode tool for kbd? Michael Schutte
@ 2011-03-21 22:13 ` Dmitry V. Levin
2011-03-21 22:25 ` Michael Schutte
2011-03-25 13:20 ` Alexey Gladkov
1 sibling, 1 reply; 13+ messages in thread
From: Dmitry V. Levin @ 2011-03-21 22:13 UTC (permalink / raw)
To: kbd
[-- Attachment #1: Type: text/plain, Size: 913 bytes --]
On Mon, Mar 21, 2011 at 10:42:36PM +0100, Michael Schutte wrote:
> Hi Alexey,
>
> The console-setup package in Debian needs a way to check for the
> text/graphics mode of the active VT (from a shell script). This can be
> done with “setfont -v -o /dev/null”, for example, but that isn’t very
> elegant. Julien Cristau has proposed a small utility (which I’m calling
> “vt_mode” for now) to report this information in a canonical fashion.
I wonder whether you actually need to know what's the KD_ mode, or
maybe your scripts just need yes/no answers on simple two questions:
- whether the active VT is in the text mode?
- whether the active VT is in the graphics mode?
In the latter case, I suggest to implement an utility with an option or
argument specifying what mode to query, and a tty(1)-like exit status,
so its use would be as simple as "if vt_mode text; then ...; fi".
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [kbd] New vt_mode tool for kbd?
2011-03-21 22:13 ` Dmitry V. Levin
@ 2011-03-21 22:25 ` Michael Schutte
0 siblings, 0 replies; 13+ messages in thread
From: Michael Schutte @ 2011-03-21 22:25 UTC (permalink / raw)
To: Linux console tools development discussion
[-- Attachment #1: Type: text/plain, Size: 1517 bytes --]
Hey,
On Tue, Mar 22, 2011 at 01:13:54AM +0300, Dmitry V. Levin wrote:
> On Mon, Mar 21, 2011 at 10:42:36PM +0100, Michael Schutte wrote:
> > The console-setup package in Debian needs a way to check for the
> > text/graphics mode of the active VT (from a shell script). This can be
> > done with “setfont -v -o /dev/null”, for example, but that isn’t very
> > elegant. Julien Cristau has proposed a small utility (which I’m calling
> > “vt_mode” for now) to report this information in a canonical fashion.
>
> I wonder whether you actually need to know what's the KD_ mode, or
> maybe your scripts just need yes/no answers on simple two questions:
> - whether the active VT is in the text mode?
> - whether the active VT is in the graphics mode?
>
> In the latter case, I suggest to implement an utility with an option or
> argument specifying what mode to query, and a tty(1)-like exit status,
> so its use would be as simple as "if vt_mode text; then ...; fi".
Yes, that would certainly work as well; it could even do both things,
depending on the presence of an argument. I don’t really care either
way (it isn’t even my script, I’m just relaying for the console-setup
developers). I just figured it would make sense to stick to the way
kbd_mode works.
Cheers,
--
Michael Schutte | michi@{uiae.at,debian.org}
Innsbruck, Austria | happily accepting encrypted mail
OpenPGP: 0x16fb 517b a866 c3f6 8f11 1485 f3e4 122f 1D8C 261A
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [kbd] New vt_mode tool for kbd?
2011-03-21 21:42 [kbd] New vt_mode tool for kbd? Michael Schutte
2011-03-21 22:13 ` Dmitry V. Levin
@ 2011-03-25 13:20 ` Alexey Gladkov
2011-03-26 17:33 ` Michael Schutte
2011-03-26 22:33 ` Dmitry V. Levin
1 sibling, 2 replies; 13+ messages in thread
From: Alexey Gladkov @ 2011-03-25 13:20 UTC (permalink / raw)
To: kbd
[-- Attachment #1: Type: text/plain, Size: 563 bytes --]
22.03.2011 00:42, Michael Schutte wrote:
> Hi Alexey,
>
> The console-setup package in Debian needs a way to check for the
> text/graphics mode of the active VT (from a shell script). This can be
> done with “setfont -v -o /dev/null”, for example, but that isn’t very
> elegant. Julien Cristau has proposed a small utility (which I’m calling
> “vt_mode” for now) to report this information in a canonical fashion.
May be something like this (see attachment) ?
I thing this utility is more script-friendly and more extensible.
--
Rgrds, legion
[-- Attachment #2: kbdinfo.c --]
[-- Type: text/plain, Size: 2187 bytes --]
#include <stdio.h>
#include <errno.h>
#include <error.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <linux/kd.h>
#include <getopt.h>
#include "getfd.h"
#include "nls.h"
#include "version.h"
#define RETURN_BASE 100
#define GETMODE 10
#define GKBMODE 20
#define GKBMETA 30
static void attr_noreturn
usage(int code) {
fprintf(stderr, _("Usage: kbdinfo [-C DEVICE] GETMODE | GKBMODE | GKBMETA\n"));
exit(code);
}
int
main(int argc, char *argv[]) {
int fd, mode, c, rc;
int quiet = 0;
char *console = NULL;
set_progname(argv[0]);
setlocale(LC_ALL, "");
bindtextdomain(PACKAGE_NAME, LOCALEDIR);
textdomain(PACKAGE_NAME);
while ((c = getopt(argc, argv, "C:qhV")) != EOF) {
switch (c) {
case 'C':
if (optarg == NULL || optarg[0] == '\0')
usage(1);
console = optarg;
break;
case 'q':
quiet = 1;
break;
case 'V':
print_version_and_exit();
break;
case 'h':
usage(0);
break;
default:
usage(1);
}
}
if (argc == optind)
usage(1);
fd = getfd(console);
rc = EXIT_FAILURE;
#define answer(typ,text,code) { \
if (!quiet) \
printf("%s\n", text); \
rc = (RETURN_BASE + typ + code); \
};
if (!strcasecmp("GETMODE", argv[optind])) {
if (ioctl(fd, KDGETMODE, &mode) == -1)
error(EXIT_FAILURE, errno, "ioctl");
switch (mode) {
case KD_TEXT: answer(GETMODE, "text", 1); break;
case KD_GRAPHICS: answer(GETMODE, "graphics", 2); break;
}
return rc;
}
if (!strcasecmp("GKBMODE", argv[optind])) {
if (ioctl(fd, KDGKBMODE, &mode) == -1)
error(EXIT_FAILURE, errno, "ioctl");
switch (mode) {
case K_RAW: answer(GKBMODE, "raw", 1); break;
case K_XLATE: answer(GKBMODE, "xlate", 2); break;
case K_MEDIUMRAW: answer(GKBMODE, "mediumraw", 3); break;
case K_UNICODE: answer(GKBMODE, "unicode", 4); break;
}
return rc;
}
if (!strcasecmp("GKBMETA", argv[optind])) {
if (ioctl(fd, KDGKBMETA, &mode) == -1)
error(EXIT_FAILURE, errno, "ioctl");
switch (mode) {
case K_METABIT: answer(GKBMETA, "metabit", 1); break;
case K_ESCPREFIX: answer(GKBMETA, "escprefix", 2); break;
}
return rc;
}
return rc;
}
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [kbd] New vt_mode tool for kbd?
2011-03-25 13:20 ` Alexey Gladkov
@ 2011-03-26 17:33 ` Michael Schutte
2011-03-26 22:33 ` Dmitry V. Levin
1 sibling, 0 replies; 13+ messages in thread
From: Michael Schutte @ 2011-03-26 17:33 UTC (permalink / raw)
To: Linux console tools development discussion
[-- Attachment #1: Type: text/plain, Size: 870 bytes --]
On Fri, Mar 25, 2011 at 04:20:19PM +0300, Alexey Gladkov wrote:
> 22.03.2011 00:42, Michael Schutte wrote:
> > The console-setup package in Debian needs a way to check for the
> > text/graphics mode of the active VT (from a shell script). This can be
> > done with “setfont -v -o /dev/null”, for example, but that isn’t very
> > elegant. Julien Cristau has proposed a small utility (which I’m calling
> > “vt_mode” for now) to report this information in a canonical fashion.
>
> May be something like this (see attachment) ?
>
> I thing this utility is more script-friendly and more extensible.
That’s much better, of course!
Cheers,
--
Michael Schutte | michi@{uiae.at,debian.org}
Innsbruck, Austria | happily accepting encrypted mail
OpenPGP: 0x16fb 517b a866 c3f6 8f11 1485 f3e4 122f 1D8C 261A
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [kbd] New vt_mode tool for kbd?
2011-03-25 13:20 ` Alexey Gladkov
2011-03-26 17:33 ` Michael Schutte
@ 2011-03-26 22:33 ` Dmitry V. Levin
2011-03-27 9:33 ` Alexey Gladkov
1 sibling, 1 reply; 13+ messages in thread
From: Dmitry V. Levin @ 2011-03-26 22:33 UTC (permalink / raw)
To: Linux console tools development discussion
[-- Attachment #1: Type: text/plain, Size: 479 bytes --]
On Fri, Mar 25, 2011 at 04:20:19PM +0300, Alexey Gladkov wrote:
[...]
> I thing this utility is more script-friendly and more extensible.
[...]
> #define RETURN_BASE 100
> #define GETMODE 10
> #define GKBMODE 20
> #define GKBMETA 30
Multi-value exit status is not quite script-friendly, especially for
values greater than 128, because exit codes greater than 128 are used
by the shell to indicate that a program died due to a fatal signal.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [kbd] New vt_mode tool for kbd?
2011-03-26 22:33 ` Dmitry V. Levin
@ 2011-03-27 9:33 ` Alexey Gladkov
2011-03-28 10:55 ` Alexey Gladkov
2011-03-28 11:19 ` Dmitry V. Levin
0 siblings, 2 replies; 13+ messages in thread
From: Alexey Gladkov @ 2011-03-27 9:33 UTC (permalink / raw)
To: kbd
27.03.2011 01:33, Dmitry V. Levin wrote:
> Multi-value exit status is not quite script-friendly, especially for
> values greater than 128, because exit codes greater than 128 are used
> by the shell to indicate that a program died due to a fatal signal.
I do not really like the idea of creating for each ioctl by the utility.
Does anyone have any suggestions on how combine all the requests in a
single utility?
On the other hand 127 return codes are sufficient to describe all the
values.
--
Rgrds, legion
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [kbd] New vt_mode tool for kbd?
2011-03-27 9:33 ` Alexey Gladkov
@ 2011-03-28 10:55 ` Alexey Gladkov
2011-03-28 11:19 ` Dmitry V. Levin
1 sibling, 0 replies; 13+ messages in thread
From: Alexey Gladkov @ 2011-03-28 10:55 UTC (permalink / raw)
To: kbd
27.03.2011 13:33, Alexey Gladkov wrote:
> On the other hand 127 return codes are sufficient to describe all the
> values.
According this:
http://tldp.org/LDP/abs/html/exitcodes.html
we have 123 non-reserved exit codes.
--
Rgrds, legion
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [kbd] New vt_mode tool for kbd?
2011-03-27 9:33 ` Alexey Gladkov
2011-03-28 10:55 ` Alexey Gladkov
@ 2011-03-28 11:19 ` Dmitry V. Levin
2011-03-28 11:26 ` Alexey Gladkov
2011-03-28 21:07 ` Alexey Gladkov
1 sibling, 2 replies; 13+ messages in thread
From: Dmitry V. Levin @ 2011-03-28 11:19 UTC (permalink / raw)
To: Linux console tools development discussion
[-- Attachment #1: Type: text/plain, Size: 1035 bytes --]
On Sun, Mar 27, 2011 at 01:33:23PM +0400, Alexey Gladkov wrote:
> 27.03.2011 01:33, Dmitry V. Levin wrote:
> > Multi-value exit status is not quite script-friendly, especially for
> > values greater than 128, because exit codes greater than 128 are used
> > by the shell to indicate that a program died due to a fatal signal.
>
> I do not really like the idea of creating for each ioctl by the utility.
>
> Does anyone have any suggestions on how combine all the requests in a
> single utility?
Usage: kbdinfo [-C DEVICE] getmode [text|graphics]
kbdinfo [-C DEVICE] gkbmode [raw|xlate|mediumraw|unicode]
kbdinfo [-C DEVICE] gkbmeta [metabit|escprefix]
If only one argument is given, then just print the current mode to stdout
and exit 0 (unless ioctls returned an error).
If two arguments are given, then print nothing to stdout and exit 0 iff
the current mode matches the mode described by these two arguments.
This interface would be both script-friendly and extensible.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [kbd] New vt_mode tool for kbd?
2011-03-28 11:19 ` Dmitry V. Levin
@ 2011-03-28 11:26 ` Alexey Gladkov
2011-03-28 21:07 ` Alexey Gladkov
1 sibling, 0 replies; 13+ messages in thread
From: Alexey Gladkov @ 2011-03-28 11:26 UTC (permalink / raw)
To: kbd
28.03.2011 15:19, Dmitry V. Levin wrote:
> Usage: kbdinfo [-C DEVICE] getmode [text|graphics]
> kbdinfo [-C DEVICE] gkbmode [raw|xlate|mediumraw|unicode]
> kbdinfo [-C DEVICE] gkbmeta [metabit|escprefix]
>
> If only one argument is given, then just print the current mode to stdout
> and exit 0 (unless ioctls returned an error).
>
> If two arguments are given, then print nothing to stdout and exit 0 iff
> the current mode matches the mode described by these two arguments.
>
> This interface would be both script-friendly and extensible.
This is very good idea. Thanks!
--
Rgrds, legion
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [kbd] New vt_mode tool for kbd?
2011-03-28 11:19 ` Dmitry V. Levin
2011-03-28 11:26 ` Alexey Gladkov
@ 2011-03-28 21:07 ` Alexey Gladkov
2011-03-29 21:51 ` Dmitry V. Levin
1 sibling, 1 reply; 13+ messages in thread
From: Alexey Gladkov @ 2011-03-28 21:07 UTC (permalink / raw)
To: kbd
[-- Attachment #1: Type: text/plain, Size: 170 bytes --]
28.03.2011 15:19, Dmitry V. Levin wrote:
> This interface would be both script-friendly and extensible.
Ok. Another implementation. How about this ?
--
Rgrds, legion
[-- Attachment #2: kbdinfo.c --]
[-- Type: text/plain, Size: 3121 bytes --]
#include <stdio.h>
#include <errno.h>
#include <error.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <linux/kd.h>
#include <getopt.h>
#include "getfd.h"
#include "nls.h"
#include "version.h"
static char *action = NULL;
static char *value = NULL;
static void attr_noreturn
usage(int code) {
fprintf(stderr, _("Usage: %s [-C DEVICE] getmode [text|graphics]\n"), progname);
fprintf(stderr, _(" or: %s [-C DEVICE] gkbmode [raw|xlate|mediumraw|unicode]\n"), progname);
fprintf(stderr, _(" or: %s [-C DEVICE] gkbmeta [metabit|escprefix]\n"), progname);
fprintf(stderr, _(" or: %s [-C DEVICE] gkbled [scrolllock|numlock|capslock]\n"), progname);
exit(code);
}
static int
answer(char *ans) {
if (value)
return !strcasecmp(value, ans) ? EXIT_SUCCESS : EXIT_FAILURE;
printf("%s\n", ans);
return EXIT_SUCCESS;
}
int
main(int argc, char **argv) {
int fd, mode, c;
int rc = EXIT_FAILURE;
char flags;
char *console = NULL;
set_progname(argv[0]);
setlocale(LC_ALL, "");
bindtextdomain(PACKAGE_NAME, LOCALEDIR);
textdomain(PACKAGE_NAME);
while ((c = getopt(argc, argv, "C:hV")) != EOF) {
switch (c) {
case 'C':
if (optarg == NULL || optarg[0] == '\0')
usage(EXIT_FAILURE);
console = optarg;
break;
case 'V':
print_version_and_exit();
break;
case 'h':
usage(EXIT_SUCCESS);
break;
}
}
if (optind == argc) {
fprintf(stderr, _("Error: Not enough arguments.\n"));
exit(EXIT_FAILURE);
}
action = argv[optind++];
if (optind < argc)
value = argv[optind++];
fd = getfd(console);
if (!strcasecmp("GETMODE", action)) {
if (ioctl(fd, KDGETMODE, &mode) == -1)
error(EXIT_FAILURE, errno, "ioctl");
switch (mode) {
case KD_TEXT: rc = answer("text"); break;
case KD_GRAPHICS: rc = answer("graphics"); break;
}
} else if (!strcasecmp("GKBMODE", action)) {
if (ioctl(fd, KDGKBMODE, &mode) == -1)
error(EXIT_FAILURE, errno, "ioctl");
switch (mode) {
case K_RAW: rc = answer("raw"); break;
case K_XLATE: rc = answer("xlate"); break;
case K_MEDIUMRAW: rc = answer("mediumraw"); break;
case K_UNICODE: rc = answer("unicode"); break;
}
} else if (!strcasecmp("GKBMETA", action)) {
if (ioctl(fd, KDGKBMETA, &mode) == -1)
error(EXIT_FAILURE, errno, "ioctl");
switch (mode) {
case K_METABIT: rc = answer("metabit"); break;
case K_ESCPREFIX: rc = answer("escprefix"); break;
}
} else if (!strcasecmp("GKBLED", action)) {
if (ioctl(fd, KDGKBLED, &flags) == -1)
error(EXIT_FAILURE, errno, "ioctl");
mode = (flags & 0x7);
if (value) {
if (((mode & LED_SCR) && !strcasecmp(value, "scrolllock")) ||
((mode & LED_NUM) && !strcasecmp(value, "numlock")) ||
((mode & LED_CAP) && !strcasecmp(value, "capslock")))
rc = EXIT_SUCCESS;
} else {
printf("scrolllock:%s ", (mode & LED_SCR) ? "on" : "off");
printf("numlock:%s ", (mode & LED_NUM) ? "on" : "off");
printf("capslock:%s\n", (mode & LED_CAP) ? "on" : "off");
rc = EXIT_SUCCESS;
}
} else {
fprintf(stderr, _("Error: Unrecognized action: %s\n"), action);
}
close(fd);
return rc;
}
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [kbd] New vt_mode tool for kbd?
2011-03-28 21:07 ` Alexey Gladkov
@ 2011-03-29 21:51 ` Dmitry V. Levin
2011-03-29 22:27 ` Alexey Gladkov
0 siblings, 1 reply; 13+ messages in thread
From: Dmitry V. Levin @ 2011-03-29 21:51 UTC (permalink / raw)
To: Linux console tools development discussion
[-- Attachment #1: Type: text/plain, Size: 552 bytes --]
On Tue, Mar 29, 2011 at 01:07:28AM +0400, Alexey Gladkov wrote:
> 28.03.2011 15:19, Dmitry V. Levin wrote:
> > This interface would be both script-friendly and extensible.
>
> Ok. Another implementation. How about this ?
Fine with me.
> static int
> answer(char *ans) {
I'd change this and some others "char *" to "const char *", but it's not
important.
> return !strcasecmp(value, ans) ? EXIT_SUCCESS : EXIT_FAILURE;
I'd code it a bit differently:
return strcasecmp(value, ans) ? EXIT_FAILURE : EXIT_SUCCESS;
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 198 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [kbd] New vt_mode tool for kbd?
2011-03-29 21:51 ` Dmitry V. Levin
@ 2011-03-29 22:27 ` Alexey Gladkov
0 siblings, 0 replies; 13+ messages in thread
From: Alexey Gladkov @ 2011-03-29 22:27 UTC (permalink / raw)
To: kbd
30.03.2011 01:51, Dmitry V. Levin wrote:
> Fine with me.
http://git.altlinux.org/people/legion/packages/kbd.git?p=kbd.git;a=commitdiff;h=4578bbc6
Applied. Thanks, Dmitry for your advices!
--
Rgrds, legion
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2011-03-29 22:27 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-03-21 21:42 [kbd] New vt_mode tool for kbd? Michael Schutte
2011-03-21 22:13 ` Dmitry V. Levin
2011-03-21 22:25 ` Michael Schutte
2011-03-25 13:20 ` Alexey Gladkov
2011-03-26 17:33 ` Michael Schutte
2011-03-26 22:33 ` Dmitry V. Levin
2011-03-27 9:33 ` Alexey Gladkov
2011-03-28 10:55 ` Alexey Gladkov
2011-03-28 11:19 ` Dmitry V. Levin
2011-03-28 11:26 ` Alexey Gladkov
2011-03-28 21:07 ` Alexey Gladkov
2011-03-29 21:51 ` Dmitry V. Levin
2011-03-29 22:27 ` Alexey Gladkov
Linux console tools development discussion
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/kbd/0 kbd/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 kbd kbd/ http://lore.altlinux.org/kbd \
kbd@lists.altlinux.org kbd@lists.altlinux.ru kbd@lists.altlinux.com
public-inbox-index kbd
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.kbd
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git