38 Commits

Author SHA1 Message Date
David Herrmann
35fbe621e4 build: link eloop statically
We don't want to export libeloop so link it statically. Avoid installing
into into the system.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2013-10-29 10:24:31 +01:00
David Herrmann
6ef8db0790 build: link libuterm statically
We shouldn't export libraries which we don't really allow linkink
externally. Link libuterm statically and avoid installing it into /lib.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2013-10-29 10:19:05 +01:00
David Herrmann
9f2f11d2a5 Remove libuvt
uvt is not used inside of kmscon. Moved into a separate library if
some-one is interested.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2013-10-29 10:01:13 +01:00
David Herrmann
761434ecac Remove freetype2 font backend
The freetype2 font backend lacks support for proper combining marks and I
do not intend to ever implement that. Use pango!

If you don't want heavy dependencies, you can use the unifont or 8x16
backends.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2013-10-29 09:31:03 +01:00
David Herrmann
96b28e953d tsm: remove and depend on libtsm
TSM was extracted from kmscon sources so it can more easily be used by
other emulators. It is available at:
  http://cgit.freedesktop.org/~dvdhrm/libtsm

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2013-10-23 16:55:59 +02:00
David Herrmann
972ec107cf kmscon: remove cdev sessions
cdev sessions are outdated. Use libuvt instead. Remove all references to
cdev-sessions and clean up the build chain.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2013-10-23 15:22:28 +02:00
David Herrmann
a23acf14f1 docs: use WantedBy in kmsconvt@.service
We currently use the old systemd syntax that was copied from
getty@.service. It doesn't allow enabling specific TTYs, though. So use
the new WantedBy syntax instead.

Thanks to "trusktr" for investigating and reporting upstream to systemd
developers.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2013-07-15 17:28:41 +02:00
David Herrmann
066cf51445 uterm: vt: add uterm_vt_get_num() helper
This helper returns the VT-number for the given VT if, and only if, it
is a real VT. In all other cases 0 is returned.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2013-06-12 15:43:17 +02:00
Lars Kellogg-Stedman
4e0b9813de docs: man: document configuration files in kmscon(1)
This moves the description of kmscon.conf to a separate "Configuration"
section and adds some example kmscon.conf configuration lines.

This addresses #71 (at least, with this change in place I probably would
not have been momentarily confused by the exact syntax used in
kmsconf.conf).

(removed trailing whitespaces)
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2013-03-12 17:53:22 +01:00
Ran Benita
d240c27ecb kmscon: add --xkb-keymap option for predefined keymaps
This adds an --xkb-keymap <FILE> option to kmscon. When given, kmscon
will try to compile the keymap from the file before trying the other
options (like the XkbKeymap option in xorg.conf).

This is useful for users who have a customized XKB keymap, which is
usually kept in a single file. Example, in X:
	xkbcomp $DISPLAY my_keymap.xkb
Customize my_keymap.xkb to your liking, and then in .xinitrc, or
xorg.conf:
	xkbcomp my_keymap.xkb $DISPLAY
Now you can also do this in kmscon.conf.

Additionally, lacking such an option, kmscon is quite difficult to use
without an installed xkeyboard-config package, which provides the
infrastructure for the "rules" configuration mechanism. We might even
want to distribute some plain xkb file as a last ditch, for
robustness, if even the default RMLVO fails... without a keyboard a
terminal is not very useful.

(changed Ran's patch to use *_from_string() instead of *_from_file())
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2013-03-12 17:31:47 +01:00
David Herrmann
ddf4126c11 kmscon: implement dynamic font-resizing via shortcuts
This implements two new keyboard shortcuts zoom-in and zoom-out that
increase/decrease font size of the current terminal.

This is similar to how wlterm does it and allows runtime modification of
fonts.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2013-03-09 13:51:05 +01:00
David Herrmann
25736f8363 uvt: client: export symbols
This adds the uvt_client symbols to the public symbol list and exports
them so we can use them in uvtd.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2013-03-05 18:02:18 +01:00
David Herrmann
e28c39c4fb uvt: ctx: add major/minor helpers
Two new functions to retrieve the current major number and dynamically
allocate minor numbers.
This can be used by clients that allocate more than one CDEV for VTs to
dynamically retrieve a new minor number.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2013-03-05 01:31:27 +01:00
David Herrmann
e62850ded5 uvt: add SHL_EXPORT to cdev+ctx subsystems
We need to export the symbols to make use of them. This exports all useful
ctx+cdev functions for outside use. The other subsystems still need to get
reviewed before we export them.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2013-03-05 01:27:32 +01:00
David Herrmann
068119a6c3 uvt: new library implementing VTs in user-space
UVT is based heavily on the old cdev-sessions. It uses CUSE/FUSE to
implement virtual terminals in user-space.

This move into a library allows to use it in other projects, too. There is
no reason to limit it to kmscon sessions. In fact, we will remove the
cdev-sessions, soon and make kmscon a stand-alone terminal emulator
without any session capability.
Instead, the uvtd program will provide the VT emulation.

This library is not finished, nor ready for use. However, feel free to
contribute patches so we can eventually release a stable API.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2013-02-27 19:44:55 +01:00
David Herrmann
d57c4eb7c9 docs: remove pixman comments
We now provide an experimental pixman backend. It still suffers from the
same problems but that cannot be fixed easily. Check it out if you want
it. Disabled by default, though.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2013-02-11 16:26:28 +01:00
Jakub Wilk
37f88bd384 Fix several typos
Provided via github. Fixes typos in documentation and comments.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2013-02-11 16:24:21 +01:00
David Herrmann
aad2715cf4 build: major cleanup
Major overhaul of the build system. This introduces symbol-versioning for
all exported libraries. Please note that none of these libraries is
stable, yet!

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2013-02-06 01:22:10 +01:00
David Herrmann
30dac8b736 docs: remove getty@.service
This is no longer used and was replaced by kmsconvt@.service some time
ago.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2013-01-02 17:34:47 +01:00
Hoàng Đức Hiếu
e0f2330239 docs: fix systemd-unit name typo
We forgot to rename the templates from kmscon to kmsconvt in the comments.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-12-30 12:49:25 +01:00
David Herrmann
724b030894 docs: fix default font-size=12 documentation
We used font-size=15 in the past but changed it long ago. However, the
documentation still used 15 so fix this now.

Reported-by: James Buren <ryu0@ymail.com>
Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-12-21 14:13:00 +01:00
David Herrmann
b469a1f4eb docs: add kmsconvt@.service systemd template
This new template can be used as replacement for getty@.service. It has
the same semantics and can be used as drop-in replacement. It even uses
getty@.service as fallback if kmscon fails.
See the comments in the files for more information.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-12-17 13:25:52 +01:00
David Herrmann
5a33f412d9 kmscon: use /bin/login -p as default login program
We must pass "-p" to make "login" preserve the environment. We make sure
the environment is correctly reset before calling it so it is safe.
Furthermore, this allows us to pass additional environment variables to
the child without having /bin/login reset it.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-12-12 21:24:51 +01:00
David Herrmann
24fe3f1911 kmscon: add --reset-env option
This option controls whether we reset the environment before spawning the
PTY child.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-12-12 21:24:15 +01:00
David Herrmann
f52baf9896 docs: fix typos in unicode-test.txt
Two simple obvious typos.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-12-10 15:36:28 +01:00
David Herrmann
929ba2b091 Add getty@.service replacement
This unit file is a new replacement for standard systemd-getty files.
Installed into /etc/systemd/system it replaces the standard systemd unit
and spawns kmscon instead of agetty on virtual terminals.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-12-09 18:40:26 +01:00
David Herrmann
6e8fb5aa0d kmscon: add --seats=current option
This option uses XDG_SEAT to determine the current seat. If this is NULL,
we fall back to "seat0".

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-12-09 18:34:26 +01:00
David Herrmann
89b6ff63fc seat: always activate fake-VTs during startup
Instead of relying on --switchvt, we should always activate fake-VTs
during startup. Otherwise, we might end up with dead seats as there is no
way to wake up kmscon later.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-12-09 14:19:17 +01:00
David Herrmann
b985e55d3a Add manpage infrastructure and kmscon.1 manpage
Add a very basic man-page infrastructure so we can easily add new
docbook-style manpages.

Also add kmscon.1 man-page with a basic overview.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-12-09 13:18:56 +01:00
David Herrmann
b18cf69663 Move .pc files to ./docs/pc/
We want only C-source files in ./src and the documents ./docs directory is
meant to contain any other sources.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-12-05 18:25:05 +01:00
Matthew Monaco
d4a1f69fe3 Add kmscon@.service
This almost certainly can be optimized, but we should be able to mask
getty@.service with kmscon@.service.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-11-05 17:36:57 +01:00
David Herrmann
38759fed14 docs: add systemd kmscon unit
This is a very basic unit that can start kmscon with a login shell. We may
have to improve it to replace agetty/etc fully, but it is a good start.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-09-18 20:41:55 +02:00
David Herrmann
16e292830d docs: remove gtkdoc
This never really worked and was horrible to maintain. We need to find
something else for documentation, but we will probably have to do it with
a separate XML file without any generator.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-09-08 16:19:49 +02:00
David Herrmann
816dcfb148 docs: add some pixman-rendering comments
We didn't use pixman for rendering in kmscon. This documents shows some
code how we could do it but also explains why this would not improve
performance.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-09-04 17:37:14 +02:00
Theodore Kotz
68dc2f84e6 docs: add unicode test document
This document contains several special Unicode characters which can be
used to test the terminal font-engine/UTF-8-engine.

Written-by: Theodore Kotz <ted@kotz.us>
Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-08-25 10:42:22 +02:00
David Herrmann
7a64adeca9 Move doc/vte.txt to docs/vte.txt
There is really no reason to have _two_ documentation directories.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-08-10 18:02:32 +02:00
David Herrmann
d2a128f7e1 doc: fix header of gtk-doc makefile
It still used the old name. So convert it to use the more general name as
we are building all documentation into one global document.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-06-24 21:11:57 +02:00
David Herrmann
ac2ad45270 build: add gtk-doc
This adds gtk-doc documentation builds to kmscon. All documentation is
build in a central place due to gtk-doc restrictions.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-06-23 20:09:19 +02:00