Commit bcfbb9d6 authored by Moritz Lipp's avatar Moritz Lipp

Merge branch 'release/0.2.0'

parents 93dc921b 4860ad68
......@@ -14,3 +14,4 @@ version.h
gcov/
*.swp
doc/
.version-checks/
Copyright (c) 2010-2013 pwmt.org
Copyright (c) 2010-2014 pwmt.org
This software is provided 'as-is', without any express or implied warranty. In
no event will the authors be held liable for any damages arising from the use of
......
......@@ -4,10 +4,10 @@ include config.mk
include common.mk
PROJECTNV = girara
PROJECT = girara-gtk${GIRARA_GTK_VERSION}
PROJECT = girara-gtk3
SOURCE = $(wildcard *.c)
OBJECTS = ${SOURCE:.c=-gtk${GIRARA_GTK_VERSION}.o}
DOBJECTS = ${SOURCE:.c=-gtk${GIRARA_GTK_VERSION}.do}
OBJECTS = ${SOURCE:.c=.o}
DOBJECTS = ${SOURCE:.c=.do}
HEADERS = $(filter-out version.h,$(filter-out internal.h,$(wildcard *.h)))
HEADERS_INSTALL = ${HEADERS} version.h
......@@ -20,7 +20,17 @@ CPPFLAGS += -DLOCALEDIR=\"${LOCALEDIR}\"
endif
all: options ${PROJECT} po
all: options ${PROJECT} po ${PROJECT}.pc
# pkg-config based version checks
.version-checks/%: config.mk
$(QUIET)test $($(*)_VERSION_CHECK) -eq 0 || \
pkg-config --atleast-version $($(*)_MIN_VERSION) $($(*)_PKG_CONFIG_NAME) || ( \
echo "The minium required version of $(*) is $($(*)_MIN_VERSION)" && \
false \
)
@mkdir -p .version-checks
$(QUIET)touch $@
options:
@echo ${PROJECT} build options:
......@@ -34,18 +44,18 @@ version.h: version.h.in config.mk
-e 's/GVMINOR/${GIRARA_VERSION_MINOR}/' \
-e 's/GVREV/${GIRARA_VERSION_REV}/' version.h.in > version.h
%-gtk${GIRARA_GTK_VERSION}.o: %.c
%.o: %.c
@mkdir -p .depend
$(ECHO) CC $<
$(QUIET)${CC} -c ${CPPFLAGS} ${CFLAGS} -o $@ $< -MMD -MF .depend/$@.dep
%-gtk${GIRARA_GTK_VERSION}.do: %.c
%.do: %.c
@mkdir -p .depend
$(ECHO) CC $<
$(QUIET)${CC} -c ${CPPFLAGS} ${CFLAGS} ${DFLAGS} -o $@ $< -MMD -MF .depend/$@.dep
${OBJECTS}: config.mk version.h
${DOBJECTS}: config.mk version.h
${OBJECTS} ${DOBJECTS}: config.mk version.h \
.version-checks/GTK .version-checks/GLIB
${PROJECT}: static shared
static: lib${PROJECT}.a
......@@ -63,7 +73,8 @@ clean:
$(QUIET)rm -rf ${OBJECTS} ${PROJECT}-${VERSION}.tar.gz \
${DOBJECTS} lib${PROJECT}.a lib${PROJECT}-debug.a ${PROJECT}.pc doc \
lib$(PROJECT).so.${SOVERSION} lib${PROJECT}-debug.so.${SOVERSION} .depend \
${PROJECTNV}-${VERSION}.tar.gz version.h *gcda *gcno $(PROJECT).info gcov
${PROJECTNV}-${VERSION}.tar.gz version.h *gcda *gcno $(PROJECT).info gcov \
.version-checks
$(QUIET)${MAKE} -C tests clean
$(QUIET)${MAKE} -C po clean
......@@ -108,12 +119,11 @@ dist: clean
$(QUIET)rm -rf ${PROJECTNV}-${VERSION}
${PROJECT}.pc: ${PROJECTNV}.pc.in config.mk
$(QUIET)echo project=${PROJECT} > ${PROJECT}.pc
$(QUIET)echo version=${VERSION} >> ${PROJECT}.pc
$(QUIET)echo includedir=${INCLUDEDIR} >> ${PROJECT}.pc
$(QUIET)echo libdir=${LIBDIR} >> ${PROJECT}.pc
$(QUIET)echo GTK_VERSION=${GIRARA_GTK_VERSION} >> ${PROJECT}.pc
$(QUIET)cat ${PROJECTNV}.pc.in >> ${PROJECT}.pc
$(QUIET)sed -e 's,@PROJECT@,${PROJECT},' \
-e 's,@VERSION@,${VERSION},' \
-e 's,@INCLUDEDIR@,${INCLUDEDIR},' \
-e 's,@LIBDIR@,${LIBDIR},' \
${PROJECTNV}.pc.in > ${PROJECT}.pc
po:
$(QUIET)${MAKE} -C po
......
......@@ -9,7 +9,8 @@ enhance the user interface that is used by zathura and jumanji.
Requirements
------------
gtk2 (>= 2.18.6) or gtk3 (>= 3.2)
glib (>= 2.28)
gtk3 (>= 3.2)
intltool
Please note that you need to have a working pkg-config installation
......@@ -24,11 +25,6 @@ Run the following command to build and install girara to your system:
make install
girara is built for gtk2 by default. If it should be build for gtk3
pass GIRARA_GTK_VERSION to make:
make GIRARA_GTK_VERSION=3 install
Uninstall
---------
To delete girara from your system, type:
......
......@@ -9,9 +9,6 @@
#include <glib/gi18n-lib.h>
#include "internal.h"
#if GTK_MAJOR_VERSION == 2
#include "gtk2-compat.h"
#endif
static const guint ALL_ACCELS_MASK = GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK;
static const guint MOUSE_MASK = GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK |
......@@ -289,10 +286,11 @@ girara_callback_view_button_motion_notify_event(GtkWidget* UNUSED(widget), GdkEv
g_return_val_if_fail(button != NULL, false);
/* prepare girara event */
girara_event_t event;
event.type = GIRARA_EVENT_MOTION_NOTIFY;
event.x = button->x;
event.y = button->y;
girara_event_t event = {
.type = GIRARA_EVENT_MOTION_NOTIFY,
.x = button->x,
.y = button->y
};
const guint state = button->state & MOUSE_MASK;
......
......@@ -12,10 +12,6 @@
#include "settings.h"
#include "shortcuts.h"
#if GTK_MAJOR_VERSION == 2
#include "gtk2-compat.h"
#endif
/* default commands implementation */
bool
girara_cmd_map_unmap(girara_session_t* session, girara_list_t* argument_list,
......@@ -103,7 +99,7 @@ girara_cmd_map_unmap(girara_session_t* session, girara_list_t* argument_list,
{"button-released", GIRARA_EVENT_BUTTON_RELEASE}
};
size_t number_of_arguments = girara_list_size(argument_list);
const size_t number_of_arguments = girara_list_size(argument_list);
unsigned int limit = (unmap == true) ? 1 : 2;
if (number_of_arguments < limit) {
......
......@@ -11,10 +11,6 @@
#include "datastructures.h"
#include "utils.h"
#if GTK_MAJOR_VERSION == 2
#include "gtk2-compat.h"
#endif
static GtkEventBox* girara_completion_row_create(girara_session_t*, const char*, const char*, bool);
static void girara_completion_row_set_color(girara_session_t*, GtkEventBox*, int);
......@@ -162,10 +158,14 @@ girara_isc_completion(girara_session_t* session, girara_argument_t* argument, gi
if (input_length > 1) {
if (g_shell_parse_argv(input + 1, &n_parameter, &elements, NULL) == FALSE) {
g_free(input);
return FALSE;
return false;
}
} else {
elements = g_malloc0(2 * sizeof(char*));
elements = g_try_malloc0(2 * sizeof(char*));
if (elements == NULL) {
g_free(input);
return false;
}
elements[0] = g_strdup("");
}
......@@ -243,11 +243,7 @@ girara_isc_completion(girara_session_t* session, girara_argument_t* argument, gi
* there is no current list
*/
if (session->gtk.results == NULL) {
#if GTK_MAJOR_VERSION == 2
session->gtk.results = GTK_BOX(gtk_vbox_new(FALSE, 0));
#else
session->gtk.results = GTK_BOX(gtk_box_new(GTK_ORIENTATION_VERTICAL, 0));
#endif
if (session->gtk.results == NULL) {
g_free(current_command);
......@@ -486,11 +482,7 @@ girara_isc_completion(girara_session_t* session, girara_argument_t* argument, gi
static GtkEventBox*
girara_completion_row_create(girara_session_t* session, const char* command, const char* description, bool group)
{
#if GTK_MAJOR_VERSION == 2
GtkBox *col = GTK_BOX(gtk_hbox_new(FALSE, 0));
#else
GtkBox *col = GTK_BOX(gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0));
#endif
GtkEventBox *row = GTK_EVENT_BOX(gtk_event_box_new());
......
......@@ -77,12 +77,14 @@ cb_guioptions(girara_session_t* session, const char* UNUSED(name),
/* set default values */
bool show_commandline = false;
bool show_statusbar = false;
bool show_hscrollbar = false;
bool show_vscrollbar = false;
/* evaluate input */
char* input = (char*) value;
int input_length = strlen(input);
char* input = (char*) value;
const size_t input_length = strlen(input);
for (int i = 0; i < input_length; i++) {
for (size_t i = 0; i < input_length; i++) {
switch (input[i]) {
/* command line */
case 'c':
......@@ -92,6 +94,12 @@ cb_guioptions(girara_session_t* session, const char* UNUSED(name),
case 's':
show_statusbar = true;
break;
case 'h':
show_hscrollbar = true;
break;
case 'v':
show_vscrollbar = true;
break;
}
}
......@@ -111,6 +119,17 @@ cb_guioptions(girara_session_t* session, const char* UNUSED(name),
session->global.hide_statusbar = true;
gtk_widget_hide(session->gtk.statusbar);
}
GtkWidget* vscrollbar = gtk_scrolled_window_get_vscrollbar(GTK_SCROLLED_WINDOW(session->gtk.view));
GtkWidget* hscrollbar = gtk_scrolled_window_get_hscrollbar(GTK_SCROLLED_WINDOW(session->gtk.view));
if (vscrollbar != NULL) {
gtk_widget_set_visible(vscrollbar, show_vscrollbar);
}
if (hscrollbar != NULL) {
gtk_widget_set_visible(hscrollbar, show_hscrollbar);
}
}
static void
......@@ -119,65 +138,51 @@ cb_scrollbars(girara_session_t* session, const char* name,
{
g_return_if_fail(session != NULL && value != NULL);
bool val = *(bool*) value;
bool show_hscrollbar = false;
bool show_vscrollbar = false;
const bool val = *(bool*) value;
#if (GTK_MAJOR_VERSION == 3)
GtkWidget *vscrollbar = gtk_scrolled_window_get_vscrollbar(GTK_SCROLLED_WINDOW(session->gtk.view));
GtkWidget *hscrollbar = gtk_scrolled_window_get_hscrollbar(GTK_SCROLLED_WINDOW(session->gtk.view));
char* guioptions = NULL;
girara_setting_get(session, "guioptions", &guioptions);
g_return_if_fail(guioptions != NULL);
if (vscrollbar != NULL) {
show_vscrollbar = gtk_widget_get_visible(vscrollbar);
}
bool show_hscrollbar = strchr(guioptions, 'h') != NULL;
bool show_vscrollbar = strchr(guioptions, 'v') != NULL;
if (hscrollbar != NULL) {
show_hscrollbar = gtk_widget_get_visible(hscrollbar);
}
#else
GtkPolicyType h_policy, v_policy;
gtk_scrolled_window_get_policy(GTK_SCROLLED_WINDOW(session->gtk.view), &h_policy, &v_policy);
show_vscrollbar = (v_policy == GTK_POLICY_AUTOMATIC);
show_hscrollbar = (h_policy == GTK_POLICY_AUTOMATIC);
#endif
if (!strcmp(name, "show-scrollbars")) {
if (strcmp(name, "show-scrollbars") == 0) {
show_hscrollbar = show_vscrollbar = val;
girara_setting_set(session, "show-h-scrollbar", &val);
girara_setting_set(session, "show-v-scrollbar", &val);
} else if (!strcmp(name, "show-h-scrollbar")) {
} else if (strcmp(name, "show-h-scrollbar") == 0) {
show_hscrollbar = val;
} else if (!strcmp(name, "show-v-scrollbar")) {
} else if (strcmp(name, "show-v-scrollbar") == 0) {
show_vscrollbar = val;
}
#if (GTK_MAJOR_VERSION == 3)
if (vscrollbar != NULL) {
gtk_widget_set_visible(vscrollbar, show_vscrollbar);
const size_t guioptions_len = strlen(guioptions);
char* new_guioptions = g_try_malloc0(sizeof(char) * (guioptions_len + 3));
char* iterator = new_guioptions;
if (new_guioptions == NULL) {
g_free(guioptions);
return;
}
if (hscrollbar != NULL) {
gtk_widget_set_visible(hscrollbar, show_hscrollbar);
/* copy everything apart from h and v */
for (size_t i = 0; i != guioptions_len; ++i) {
if (guioptions[i] != 'h' && guioptions[i] != 'v') {
*iterator = guioptions[i];
++iterator;
}
}
#else
h_policy = show_hscrollbar ? GTK_POLICY_AUTOMATIC : GTK_POLICY_NEVER;
v_policy = show_vscrollbar ? GTK_POLICY_AUTOMATIC : GTK_POLICY_NEVER;
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(session->gtk.view), h_policy, v_policy);
#endif
/* be careful to avoid infinite recursion as changing settings triggers
cb_scrollbars call */
girara_setting_get(session, "show-scrollbars", &val);
if (show_hscrollbar && show_vscrollbar && !val) {
val = true;
girara_setting_set(session, "show-scrollbars", &val);
} else if (!show_hscrollbar && !show_vscrollbar && val) {
val = false;
girara_setting_set(session, "show-scrollbars", &val);
g_free(guioptions);
if (show_hscrollbar == true) {
*iterator = 'h';
++iterator;
}
if (show_vscrollbar == true) {
*iterator = 'v';
++iterator;
}
girara_setting_set(session, "guioptions", new_guioptions);
g_free(new_guioptions);
}
void
......
# See LICENSE file for license and copyright information
GIRARA_VERSION_MAJOR = 0
GIRARA_VERSION_MINOR = 1
GIRARA_VERSION_REV = 9
GIRARA_VERSION_MINOR = 2
GIRARA_VERSION_REV = 0
VERSION = ${GIRARA_VERSION_MAJOR}.${GIRARA_VERSION_MINOR}.${GIRARA_VERSION_REV}
# Rules for the SOMAJOR and SOMINOR.
......@@ -10,7 +10,7 @@ VERSION = ${GIRARA_VERSION_MAJOR}.${GIRARA_VERSION_MINOR}.${GIRARA_VERSION_REV}
# * If a function has been removed or the paramaters of a function have changed
# bump SOMAJOR and set SOMINOR to 0.
# * If any of the exported datastructures have changed in a incompatible way
# bump SOMAJOR and set SOMINOR to 0.
# bump SOMAJOR and set SOMINOR to 0.
# * If a function has been added bump SOMINOR.
SOMAJOR = 1
SOMINOR = 1
......@@ -24,11 +24,21 @@ INCLUDEDIR ?= ${PREFIX}/include
# locale directory
LOCALEDIR ?= ${PREFIX}/share/locale
GIRARA_GTK_VERSION ?= 3
# version checks
# If you want to disable any of the checks, set *_VERSION_CHECK to 0.
# GTK+
GTK_VERSION_CHECK ?= 1
GTK_MIN_VERSION = 3.2
GTK_PKG_CONFIG_NAME = gtk+-3.0
# glib
GLIB_VERSION_CHECK ?= 1
GLIB_MIN_VERSION = 2.28
GLIB_PKG_CONFIG_NAME = glib-2.0
# libs
GTK_INC ?= $(shell pkg-config --cflags gtk+-${GIRARA_GTK_VERSION}.0)
GTK_LIB ?= $(shell pkg-config --libs gtk+-${GIRARA_GTK_VERSION}.0)
GTK_INC ?= $(shell pkg-config --cflags gtk+-3.0)
GTK_LIB ?= $(shell pkg-config --libs gtk+-3.0)
INCS = ${GTK_INC}
LIBS = ${GTK_LIB} -lm
......
......@@ -34,9 +34,7 @@ struct girara_list_iterator_s
girara_list_t*
girara_list_new(void)
{
girara_list_t* list = g_malloc0(sizeof(girara_list_t));
return list;
return g_try_malloc0(sizeof(girara_list_t));
}
girara_list_t*
......@@ -90,12 +88,7 @@ girara_list_clear(girara_list_t* list)
}
if (list->free) {
#if (GLIB_MAJOR_VERSION >= 2) && (GLIB_MINOR_VERSION >= 28)
g_list_free_full(list->start, list->free);
#else
g_list_foreach(list->start, (GFunc)list->free, NULL);
g_list_free(list->start);
#endif
} else {
g_list_free(list->start);
}
......@@ -205,25 +198,34 @@ girara_list_find(girara_list_t* list, girara_compare_function_t compare, const v
girara_list_iterator_t*
girara_list_iterator(girara_list_t* list)
{
g_return_val_if_fail(list, NULL);
g_return_val_if_fail(list != NULL, NULL);
if (!list->start) {
if (list->start == NULL) {
return NULL;
}
girara_list_iterator_t* iter = g_malloc0(sizeof(girara_list_iterator_t));
iter->list = list;
girara_list_iterator_t* iter = g_try_malloc0(sizeof(girara_list_iterator_t));
if (iter == NULL) {
return NULL;
}
iter->list = list;
iter->element = list->start;
return iter;
}
girara_list_iterator_t*
girara_list_iterator_copy(girara_list_iterator_t* iter) {
g_return_val_if_fail(iter, NULL);
girara_list_iterator_t* iter2 = g_malloc0(sizeof(girara_list_iterator_t));
girara_list_iterator_copy(girara_list_iterator_t* iter)
{
g_return_val_if_fail(iter != NULL, NULL);
iter2->list = iter->list;
girara_list_iterator_t* iter2 = g_try_malloc0(sizeof(girara_list_iterator_t));
if (iter2 == NULL) {
return NULL;
}
iter2->list = iter->list;
iter2->element = iter->element;
return iter2;
}
......@@ -397,14 +399,22 @@ girara_list_merge(girara_list_t* list, girara_list_t* other)
girara_tree_node_t*
girara_node_new(void* data)
{
girara_tree_node_t* node = g_malloc0(sizeof(girara_tree_node_t));
girara_tree_node_data_t* nodedata = g_malloc0(sizeof(girara_tree_node_data_t));
girara_tree_node_t* node = g_try_malloc0(sizeof(girara_tree_node_t));
if (node == NULL) {
return NULL;
}
girara_tree_node_data_t* nodedata = g_try_malloc0(sizeof(girara_tree_node_data_t));
if (nodedata == NULL) {
g_free(node);
return NULL;
}
nodedata->data = data;
nodedata->node = node;
node->node = g_node_new(nodedata);
node->node = g_node_new(nodedata);
if (!node->node) {
if (node->node == NULL) {
g_free(node);
g_free(nodedata);
return NULL;
......
LIB_PATH=-L${libdir}
INC_PATH=-I${includedir}
project=@PROJECT@
version=@VERSION@
includedir=@INCLUDEDIR@
libdir=@LIBDIR@
GTK_VERSION=3
Name: ${project}
Description: User interface libray
Version: ${version}
URL: http://pwmt.org/projects/libgirara
Cflags: ${INC_PATH}
Libs: -l${project} ${LIB_PATH}
Requires.private: gtk+-${GTK_VERSION}.0
URL: http://pwmt.org/projects/girara
Cflags: -I${includedir}
Libs: -L${libdir} -l${project}
Requires.private: gtk+-3.0
This diff is collapsed.
......@@ -22,6 +22,7 @@ typedef struct ih_private_s {
ih_private_t))
/* Methods */
static void ih_dispose(GObject* object);
static void ih_finalize(GObject* object);
static void ih_set_property(GObject* object, guint prop_id,
const GValue* value, GParamSpec* pspec);
......@@ -50,6 +51,7 @@ girara_input_history_class_init(GiraraInputHistoryClass* class)
/* overwrite methods */
GObjectClass* object_class = G_OBJECT_CLASS(class);
object_class->dispose = ih_dispose;
object_class->finalize = ih_finalize;
object_class->set_property = ih_set_property;
object_class->get_property = ih_get_property;
......@@ -74,8 +76,19 @@ girara_input_history_init(GiraraInputHistory* history)
{
ih_private_t* priv = GIRARA_INPUT_HISTORY_GET_PRIVATE(history);
priv->history = girara_list_new2((girara_free_function_t) g_free);
priv->reset = true;
priv->io = NULL;
priv->reset = true;
priv->io = NULL;
}
/* GObject dispose */
static void
ih_dispose(GObject* object)
{
ih_private_t* priv = GIRARA_INPUT_HISTORY_GET_PRIVATE(object);
g_clear_object(&priv->io);
G_OBJECT_CLASS(girara_input_history_parent_class)->dispose(object);
}
/* GObject finalize */
......@@ -86,10 +99,6 @@ ih_finalize(GObject* object)
girara_list_free(priv->history);
g_free(priv->command_line);
if (priv->io != NULL) {
g_object_unref(priv->io);
}
G_OBJECT_CLASS(girara_input_history_parent_class)->finalize(object);
}
......
......@@ -169,7 +169,7 @@ struct girara_shortcut_s
{
guint mask; /**< Mask */
guint key; /**< Key */
const char* buffered_command; /**< Buffer command */
char* buffered_command; /**< Buffer command */
girara_shortcut_function_t function; /**< The correspondending function */
girara_mode_t mode; /**< Mode identifier */
girara_argument_t argument; /**< Given argument */
......@@ -240,9 +240,7 @@ struct girara_session_private_s
struct
{
#if GTK_MAJOR_VERSION == 3
GtkWidget *overlay; /**< So we can overlay bottom_box on top of view */
#endif
GtkBox *bottom_box; /**< Box grouping input, status and notification */
} gtk;
};
......
......@@ -40,4 +40,12 @@
# endif
#endif
#ifndef GIRARA_ALLOC_SIZE
# if defined(__GNUC__)
# define GIRARA_ALLOC_SIZE(...) __attribute__((alloc_size(__VA_ARGS__)))
# else
# define GIRARA_ALLOC_SIZE(x)
# endif
#endif
#endif
......@@ -4,7 +4,7 @@ include ../config.mk
include ../common.mk
PROJECTNV = girara
PROJECT = girara-gtk${GIRARA_GTK_VERSION}
PROJECT = girara-gtk3
CATALOGS = $(wildcard *.po)
LINGUAS ?= $(patsubst %.po, %, $(CATALOGS))
ifeq ($(LINGUAS),)
......
......@@ -5,13 +5,14 @@
# <cedric.sodhi@googlemail.com>, 2012
# Mario Blättermann <mario.blaettermann@gmail.com>, 2012
# Moritz Lipp <mlq@pwmt.org>, 2012
# rike, 2014
msgid ""
msgstr ""
"Project-Id-Version: girara\n"
"Report-Msgid-Bugs-To: http://bugs.pwmt.org\n"
"POT-Creation-Date: 2013-11-04 20:02+0100\n"
"PO-Revision-Date: 2013-08-15 00:24+0200\n"
"Last-Translator: Sebastian Ramacher <sebastian+dev@ramacher.at>\n"
"POT-Creation-Date: 2014-01-09 18:43+0100\n"
"PO-Revision-Date: 2014-01-09 17:53+0000\n"
"Last-Translator: rike\n"
"Language-Team: German (http://www.transifex.com/projects/p/girara/language/"
"de/)\n"
"Language: de\n"
......@@ -21,228 +22,227 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#. unhandled command
#: ../callbacks.c:498
#: ../callbacks.c:495
#, c-format
msgid "Not a valid command: %s"
msgstr "Ungültige zugewiesene Funktion: %s"
#: ../commands.c:112 ../commands.c:312
#: ../commands.c:108 ../commands.c:308
#, c-format
msgid "Invalid number of arguments passed: %zu instead of at least %u"
msgstr ""
"Ungülitige Anzahl an Argumente übergeben: %zu anstatt von mindestens %u"
msgstr "Ungültige Anzahl an Argumente übergeben: %zu anstatt von mindestens %u"
#: ../commands.c:146
#: ../commands.c:142
#, c-format
msgid "Unregistered mode specified: %s"
msgstr "Modus ist nicht registriert: %s"
#: ../commands.c:178
#: ../commands.c:174
#, c-format
msgid "Invalid modifier in %s"
msgstr "Ungültiger Modifikator in %s"
#: ../commands.c:217
#: ../commands.c:213
#, c-format
msgid "Invalid special key value for %s"
msgstr "Ungültige Sondertaste für %s"
#: ../commands.c:253
#: ../commands.c:249
#, c-format
msgid "Invalid special key value or mode %s"
msgstr "Ungültige Sondertaste oder Modus %s"
#: ../commands.c:334
#: ../commands.c:330
#, c-format
msgid "Not a valid shortcut function: %s"
msgstr "Ungültige zugewiesene Funktion: %s"
#: ../commands.c:422
#: ../commands.c:418
msgid "Not enough arguments."
msgstr "Zu wenige Argumente."
#: ../commands.c:427
#: ../commands.c:423
msgid "Too many arguments."
msgstr "Zu viele Argumente."
#: ../commands.c:440
#: ../commands.c:436
#, c-format
msgid "Unknown option: %s"
msgstr "Unbekannte Otion: %s"
#: ../commands.c:454
#: ../commands.c:450
msgid "true"
msgstr "wahr"
#: ../commands.c:454
#: ../commands.c:450
msgid "false"
msgstr "falsch"
#: ../commands.c:486
#: ../commands.c:482
#, c-format
msgid "No value defined for option: %s"
msgstr "Kein Wert für Option definiert: %s"
#: ../commands.c:501
#: ../commands.c:497
#, c-format
msgid "Unknown value for option: %s"
msgstr "Unbekannter Wert für Option: %s"
#. settings
#: ../config.c:203
#: ../config.c:190
msgid "Font"
msgstr "Schriftart"
#: ../config.c:204
#: ../config.c:191
msgid "Default foreground color"
msgstr "Standardfarbe des Vordergrunds"
#: ../config.c:205
#: ../config.c:192
msgid "Default background color"
msgstr "Standardfarbe des Hintergrunds"
#: ../config.c:206
#: ../config.c:193
msgid "Inputbar foreground color"
msgstr "Vordergrundfarbe der Eingabezeile"
#: ../config.c:207
#: ../config.c:194
msgid "Inputbar background color"
msgstr "Hintergrundfarbe der Eingabezeile"
#: ../config.c:208
#: ../config.c:195
msgid "Statusbar foreground color"
msgstr "Vordergrundfarbe der Statuszeile"
#: ../config.c:209
#: ../config.c:196
msgid "Statsubar background color"
msgstr "Hintergrundfarbe der Statuszeile"
#: ../config.c:210
#: ../config.c:197
msgid "Completion foreground color"
msgstr "Vordergrundfarbe der Vervollständigung"
#: ../config.c:211
#: ../config.c:198