16 Commits

Author SHA1 Message Date
David Herrmann
d4529d735a conf: simplify helper macros
Instead of using "NULL, NULL, NULL, " in every macro, we now provide a
*_FULL variant which allows setting these. All other macros simply set
these to NULL by default.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-10-23 12:05:42 +02:00
David Herrmann
8923fe2123 conf: call aftercheck after config-file parsing is done
We need to call afterchecks after any parsing we do. To signal that there
are no extra-arguments, we pass argv==NULL.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-10-23 11:45:43 +02:00
David Herrmann
d40b23d789 conf: add option-copy callback
We allow options to specify "aftercheck" callbacks but do not call them
during a copy. Therefore, we need a way to copy side-effects. As we cannot
do that generically, we now allow each option to specify such a callback.

We use it for the "all_seats" and "argv" parameters in kmscon.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-10-19 16:51:01 +02:00
David Herrmann
52edafe08c conf: allow multiple grabs and keysyms per grab-option
We allow users to specify grabs on the command-line or in config-options.
We sometimes want multiple grabs to do the same. Therefore, this changes
the grab-parser and handlers to allow this.

Furthermore, this adds support for keysyms that are assembled of multiple
syms. This isn't needed by any keymap, yet, but might be used in the
future.

Last but not least, you can also specify modifiers only now. This might be
used by subsystems to use the default keysyms but let the user specify
what modifiers should be used.
However, be careful when specifying modifiers-only for normal grabs as
this means the grab is executed everytime the modifier is reported with
_any_ key.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-10-15 17:30:27 +02:00
David Herrmann
aaa084c01d wlterm/kmscon: change default repeat-rate to 50
Even though I really like the high repeat-rates, it might not be the best
default option. Hence, change it to some sane default.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-10-11 12:39:58 +02:00
David Herrmann
7e4e25fcd2 wlt: add command-line options for xkb-repeat settings
You can now use --xkb-repeat-rate/delay to configure the Xkb key-repeat
settings instead of using the default 25/250.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-10-07 15:31:53 +02:00
David Herrmann
7f1bff5cc6 wlt: terminal: implement copy/paste support
This implements copy/paste support for the terminal widgets via the
recently introduced helpers.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-10-07 15:26:22 +02:00
David Herrmann
ed66487a4b wlt: add --grab-zoom-in/out command-line options
These options allow to modify the hard-coded shortcuts for font zooming.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-10-02 13:46:47 +02:00
David Herrmann
ead84b9dca wlt: toggle fullscreen on F11
This adds a --grab-fullscreen parameter which configures the key that
toggles fullscreen. This is handled in the theme widget as we consider it
the main window-handler.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-10-01 17:09:14 +02:00
David Herrmann
038aac7fd5 wlt: add --term, --login, --palette and --sb-size
These terminal options are simply copied from kmscon and behave the same
way.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-10-01 12:41:06 +02:00
David Herrmann
e5e81a0b4c wlt: add scrollback-buffer grabs
This copies the grabs from kmscon over to wlterm. It is now possible to
scroll up and down in the scrollback-buffer if you manually increase the
buffer size.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-10-01 12:24:03 +02:00
David Herrmann
1a34c00796 wlt: terminal: forward HUP event to the caller
This forwards the PTY-HUP event to the caller so we can close the terminal
window when the client application exits.

Reported-by: Alexander Preisinger
Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-09-27 19:08:41 +02:00
David Herrmann
3f4e8a498b wlt: add some --font-* options
Copy the options from kmscon which are font-* engine, size, dpi and name.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-09-27 12:36:10 +02:00
David Herrmann
01c97de5bd wlt: main: increase default window size to 600x400
Current default size is pretty small and there are still some resizing
bugs so increase it to have a working terminal.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-09-27 00:45:32 +02:00
David Herrmann
ddb5c42c19 wlt: load font modules during startup
We need the text-font modules to render fonts in wlterm. Therefore, load
all the font modules during startup before initializing the application.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-09-26 23:47:12 +02:00
David Herrmann
f9de068a09 build: update autotools logic and add "wlterm" application
Sorry for the big commit, but I was working on the wlterm application and
then thought I can rework the whole configure-logic again. This mainly
renames all build-defines to BUILD_DEFINE_* and BUILD_HAVE_* and allows
specifying which applications to build via --enable-kmscon/--enable-wlterm
and similar.

wlterm is a new application which is a native wayland client with no
external dependencies. It serves several purposes:
  * It uses TSM (not yet implemented, but will come soon) to create a
    console independent from kmscon. This shows how TSM can easily be used
    to create independent terminal emulators.
  * It is a native wayland application (probably the first independent
    wayland app so far?) and is used to test how well the wayland API
    works. As wayland is still under heavy development, we need more
    application-writers who report back whether the wayland-API makes
    sense to them and whether it works correctly.
  * A proper terminal-emulator for wayland! There is currently no proper
    emulator so we really need something that we can work with.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
2012-09-26 18:56:41 +02:00