Arreglos a las configuraciones por defecto.

* Arreglo la localización.
master-1.22
Félix Arreola Rodríguez 2021-07-17 22:09:29 -05:00
parent 85d3ffbf56
commit 18ec266a0f
16 changed files with 438 additions and 147 deletions

View File

@ -1,4 +1,4 @@
SUBDIRS = src po help SUBDIRS = src po
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
@ -9,7 +9,7 @@ DISTCHECK_CONFIGURE_FLAGS = \
--disable-silent-rules \ --disable-silent-rules \
CFLAGS='-Wno-deprecated-declarations' CFLAGS='-Wno-deprecated-declarations'
#INTLTOOL_XML_RULE@ @INTLTOOL_XML_RULE@
appdatadir = $(datadir)/metainfo appdatadir = $(datadir)/metainfo
appdata_in_files = gatuno-terminal.appdata.xml.in appdata_in_files = gatuno-terminal.appdata.xml.in
appdata_DATA = $(appdata_in_files:.xml.in=.xml) appdata_DATA = $(appdata_in_files:.xml.in=.xml)
@ -17,7 +17,8 @@ appdata_DATA = $(appdata_in_files:.xml.in=.xml)
desktopdir = $(datadir)/applications desktopdir = $(datadir)/applications
desktop_in_files = @PACKAGE@.desktop.in.in desktop_in_files = @PACKAGE@.desktop.in.in
desktop_DATA = $(desktop_in_files:.desktop.in.in=.desktop) desktop_DATA = $(desktop_in_files:.desktop.in.in=.desktop)
#INTLTOOL_DESKTOP_RULE@
@INTLTOOL_DESKTOP_RULE@
man_MANS = gatuno-terminal.1 man_MANS = gatuno-terminal.1

View File

@ -29,7 +29,7 @@ PKG_PROG_PKG_CONFIG
AC_PROG_CC AC_PROG_CC
AC_HEADER_STDC AC_HEADER_STDC
AM_PROG_LIBTOOL AM_PROG_LIBTOOL
#IT_PROG_INTLTOOL([0.50.1]) IT_PROG_INTLTOOL([0.50.1])
AM_GLIB_GNU_GETTEXT AM_GLIB_GNU_GETTEXT
@ -86,12 +86,6 @@ fi
AM_CONDITIONAL([ENABLE_SKEY],[test "$enable_skey" = "yes"]) AM_CONDITIONAL([ENABLE_SKEY],[test "$enable_skey" = "yes"])
# *************
# Documentation
# *************
YELP_HELP_INIT
# **************************** # ****************************
AC_SUBST([TERMINAL_MAJOR_VERSION],[gt_version_major]) AC_SUBST([TERMINAL_MAJOR_VERSION],[gt_version_major])
@ -107,7 +101,6 @@ gatuno-terminal.desktop.in
src/Makefile src/Makefile
src/terminal-version.h src/terminal-version.h
src/skey/Makefile src/skey/Makefile
help/Makefile
po/Makefile.in po/Makefile.in
]) ])
AC_OUTPUT AC_OUTPUT

View File

@ -1,22 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2014 MATE team <mate-dev@ml.mate-desktop.org> --> <!-- Copyright 2014 MATE team <mate-dev@ml.mate-desktop.org> -->
<component type="desktop"> <component type="desktop">
<id>mate-terminal.desktop</id> <id>gatuno-terminal.desktop</id>
<metadata_license>CC0-1.0</metadata_license> <metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0+</project_license> <project_license>GPL-3.0+</project_license>
<name>MATE Terminal</name> <name>Gatuno Terminal</name>
<_summary>A terminal emulator for the MATE desktop environment</_summary> <_summary>A terminal emulator for you</_summary>
<_description> <_description>
<p> <p>
MATE Terminal is a terminal emulation application that you can use Gatuno Terminal is a terminal emulation application that you can use
to access a UNIX shell in the MATE environment. MATE Terminal emulates to access a UNIX shell in the destop environment. Gatuno Terminal emulates
the xterm program developed by the X Consortium. It supports translucent the xterm program developed by the X Consortium. It supports translucent
backgrounds, opening multiple terminals in a single window (tabs) and backgrounds, opening multiple terminals in a single window (tabs) and
clickable URLs. clickable URLs.
</p> </p>
<p> <p>
MATE Terminal is a fork of GNOME Terminal and part of the MATE Desktop Environment. Gatuno Terminal is a fork of Mate Terminal, which in turn is a fork
If you would like to know more about MATE and MATE Terminal, please visit the of GNOME Terminal and part of the MATE Desktop Environment.
If you would like to know more about Gatuno Terminal, please visit the
project's home page. project's home page.
</p> </p>
</_description> </_description>
@ -39,5 +40,4 @@
</screenshots> </screenshots>
<url type="homepage">http://www.mate-desktop.org</url> <url type="homepage">http://www.mate-desktop.org</url>
<updatecontact>mate-dev@ml.mate-desktop.org</updatecontact> <updatecontact>mate-dev@ml.mate-desktop.org</updatecontact>
<project_group>MATE</project_group>
</component> </component>

269
po/Makefile.in.in 100644
View File

@ -0,0 +1,269 @@
# INTLTOOL_MAKEFILE
# Makefile for program source directory in GNU NLS utilities package.
# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
#
# This file file be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU Public License
# but which still want to provide support for the GNU gettext functionality.
# Please note that the actual code is *not* freely available.
#
# - Modified by Owen Taylor <otaylor@redhat.com> to use GETTEXT_PACKAGE
# instead of PACKAGE and to look for po2tbl in ./ not in intl/
#
# - Modified by jacob berkman <jacob@ximian.com> to install
# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
PACKAGE = @PACKAGE@
VERSION = @VERSION@
SHELL = @SHELL@
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
datarootdir = @datarootdir@
datadir = @datadir@
libdir = @libdir@
localedir = $(libdir)/locale
gnulocaledir = $(datadir)/locale
gettextsrcdir = $(datadir)/glib-2.0/gettext/po
subdir = po
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
MKINSTALLDIRS = mkdir -p
CC = @CC@
GENCAT = @GENCAT@
GMSGFMT = @GMSGFMT@
MSGFMT = @MSGFMT@
MSGFMT_OPTS = @MSGFMT_OPTS@
XGETTEXT = @XGETTEXT@
MSGMERGE = msgmerge
DEFS = @DEFS@
CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@
INCLUDES = -I.. -I$(top_srcdir)/intl
COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
SOURCES =
POFILES = @POFILES@
GMOFILES = @GMOFILES@
DISTFILES = LINGUAS ChangeLog Makefile.in.in POTFILES.in $(GETTEXT_PACKAGE).pot \
$(POFILES) $(GMOFILES) $(SOURCES)
POTFILES = \
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
INSTOBJEXT = @INSTOBJEXT@
.SUFFIXES:
.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat
.c.o:
$(COMPILE) $<
.po.pox:
$(MAKE) $(GETTEXT_PACKAGE).pot
$(MSGMERGE) $< $(srcdir)/$(GETTEXT_PACKAGE).pot -o $*.pox
.po.mo:
$(MSGFMT) -o $@ $<
.po.gmo:
$(AM_V_GEN) file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \
&& rm -f $$file && $(GMSGFMT) $(MSGFMT_OPTS) -o $$file $<
.po.cat:
sed -f ../intl/po2msg.sed < $< > $*.msg \
&& rm -f $@ && $(GENCAT) $@ $*.msg
all: all-@USE_NLS@
all-yes: $(CATALOGS)
all-no:
$(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES)
$(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) --from-code=UTF-8 \
--msgid-bugs-address='http://bugzilla.gnome.org/enter_bug.cgi?product=glib&keywords=I18N+L10N&component=general' \
--add-comments --keyword=_ --keyword=N_ \
--keyword=C_:1c,2 \
--keyword=NC_:1c,2 \
--keyword=g_dcgettext:2 \
--keyword=g_dngettext:2,3 \
--keyword=g_dpgettext2:2c,3 \
--flag=N_:1:pass-c-format \
--flag=C_:2:pass-c-format \
--flag=NC_:2:pass-c-format \
--flag=g_dngettext:2:pass-c-format \
--flag=g_strdup_printf:1:c-format \
--flag=g_string_printf:2:c-format \
--flag=g_string_append_printf:2:c-format \
--flag=g_error_new:3:c-format \
--flag=g_set_error:4:c-format \
--flag=g_markup_printf_escaped:1:c-format \
--flag=g_log:3:c-format \
--flag=g_print:1:c-format \
--flag=g_printerr:1:c-format \
--flag=g_printf:1:c-format \
--flag=g_fprintf:2:c-format \
--flag=g_sprintf:2:c-format \
--flag=g_snprintf:3:c-format \
--flag=g_scanner_error:2:c-format \
--flag=g_scanner_warn:2:c-format \
$(POTFILES) \
&& test ! -f $(GETTEXT_PACKAGE).po \
|| ( rm -f $(srcdir)/$(GETTEXT_PACKAGE).pot \
&& mv $(GETTEXT_PACKAGE).po $(srcdir)/$(GETTEXT_PACKAGE).pot )
install: install-exec install-data
install-exec:
install-data: install-data-@USE_NLS@
install-data-no: all
install-data-yes: all
$(MKINSTALLDIRS) $(DESTDIR)$(datadir); \
catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
case "$$cat" in \
*.gmo) destdir=$(gnulocaledir);; \
*) destdir=$(localedir);; \
esac; \
lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \
$(MKINSTALLDIRS) $$dir; \
if test -r $$cat; then \
$(INSTALL_DATA) $$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \
echo "installing $$cat as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \
else \
$(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \
echo "installing $(srcdir)/$$cat as" \
"$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \
fi; \
if test -r $$cat.m; then \
$(INSTALL_DATA) $$cat.m $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \
echo "installing $$cat.m as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \
else \
if test -r $(srcdir)/$$cat.m ; then \
$(INSTALL_DATA) $(srcdir)/$$cat.m \
$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \
echo "installing $(srcdir)/$$cat as" \
"$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \
else \
true; \
fi; \
fi; \
done
if test "$(PACKAGE)" = "glib"; then \
$(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \
$(INSTALL_DATA) $(srcdir)/Makefile.in.in \
$(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
else \
: ; \
fi
# Define this as empty until I found a useful application.
installcheck:
uninstall:
catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \
rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \
rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \
rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \
done
if test "$(PACKAGE)" = "glib"; then \
rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
fi
check: all
dvi info tags TAGS ID:
mostlyclean:
rm -f core core.* *.pox $(GETTEXT_PACKAGE).po *.old.po cat-id-tbl.tmp
rm -fr *.o
clean: mostlyclean
distclean: clean
rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m
maintainer-clean: distclean
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
rm -f $(GMOFILES)
distdir = ../$(GETTEXT_PACKAGE)-$(VERSION)/$(subdir)
dist distdir: $(DISTFILES)
dists="$(DISTFILES)"; \
for file in $$dists; do \
ln $(srcdir)/$$file $(distdir) 2> /dev/null \
|| cp -p $(srcdir)/$$file $(distdir); \
done
update-po: Makefile
$(MAKE) $(GETTEXT_PACKAGE).pot
tmpdir=`pwd`; \
cd $(srcdir); \
catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
echo "$$lang:"; \
if $(MSGMERGE) $$lang.po $(GETTEXT_PACKAGE).pot -o $$tmpdir/$$lang.new.po; then \
if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
rm -f $$tmpdir/$$lang.new.po; \
else \
if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
:; \
else \
echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
rm -f $$tmpdir/$$lang.new.po; \
exit 1; \
fi; \
fi; \
else \
echo "msgmerge for $$cat failed!"; \
rm -f $$tmpdir/$$lang.new.po; \
fi; \
done
# POTFILES is created from POTFILES.in by stripping comments, empty lines
# and Intltool tags (enclosed in square brackets), and appending a full
# relative path to them
POTFILES: POTFILES.in
( if test 'x$(srcdir)' != 'x.'; then \
posrcprefix='$(top_srcdir)/'; \
else \
posrcprefix="../"; \
fi; \
rm -f $@-t $@ \
&& (sed -e '/^#/d' \
-e "s/^\[.*\] +//" \
-e '/^[ ]*$$/d' \
-e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \
| sed -e '$$s/\\$$//') > $@-t \
&& chmod a-w $@-t \
&& mv $@-t $@ )
Makefile: Makefile.in.in ../config.status POTFILES
cd .. \
&& $(SHELL) ./config.status $(subdir)/$@.in
# Tell versions [3.59,3.63) of GNU make not to export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,7 +1,7 @@
# List of source files containing translatable strings. # List of source files containing translatable strings.
# Please keep this file sorted alphabetically. # Please keep this file sorted alphabetically.
mate-terminal.appdata.xml.in gatuno-terminal.appdata.xml.in
mate-terminal.desktop.in.in gatuno-terminal.desktop.in.in
src/profile-editor.c src/profile-editor.c
src/encodings-dialog.ui src/encodings-dialog.ui
src/find-dialog.ui src/find-dialog.ui

View File

@ -15,7 +15,7 @@ BUILT_SOURCES = \
terminal-type-builtins.h \ terminal-type-builtins.h \
$(NULL) $(NULL)
mate_terminal_SOURCES= \ gatuno_terminal_SOURCES= \
eggshell.c \ eggshell.c \
eggshell.h \ eggshell.h \
profile-editor.c \ profile-editor.c \
@ -56,17 +56,17 @@ mate_terminal_SOURCES= \
$(NULL) $(NULL)
if ENABLE_SKEY if ENABLE_SKEY
mate_terminal_SOURCES += \ gatuno_terminal_SOURCES += \
skey-popup.c \ skey-popup.c \
skey-popup.h \ skey-popup.h \
$(NULL) $(NULL)
endif endif
nodist_mate_terminal_SOURCES= $(BUILT_SOURCES) nodist_gatuno_terminal_SOURCES= $(BUILT_SOURCES)
mate_terminal_CPPFLAGS = \ gatuno_terminal_CPPFLAGS = \
-DTERMINAL_COMPILATION \ -DTERMINAL_COMPILATION \
-DTERMINAL_RESOURCES_PATH_PREFIX="\"/org/mate/terminal\"" \ -DTERMINAL_RESOURCES_PATH_PREFIX="\"/org/gatuno/terminal\"" \
-DTERM_DATADIR="\"$(datadir)\"" \ -DTERM_DATADIR="\"$(datadir)\"" \
-DTERM_LOCALEDIR="\"$(datadir)/locale\"" \ -DTERM_LOCALEDIR="\"$(datadir)/locale\"" \
-DTERM_PKGDATADIR="\"$(pkgdatadir)\"" \ -DTERM_PKGDATADIR="\"$(pkgdatadir)\"" \
@ -82,14 +82,14 @@ mate_terminal_CPPFLAGS = \
$(DISABLE_DEPRECATED) \ $(DISABLE_DEPRECATED) \
$(AM_CPPFLAGS) $(AM_CPPFLAGS)
mate_terminal_CFLAGS = \ gatuno_terminal_CFLAGS = \
$(TERM_CFLAGS) \ $(TERM_CFLAGS) \
$(WARN_CFLAGS) \ $(WARN_CFLAGS) \
$(AM_CFLAGS) $(AM_CFLAGS)
mate_terminal_LDFLAGS = -lICE gatuno_terminal_LDFLAGS = -lICE
mate_terminal_LDADD = \ gatuno_terminal_LDADD = \
skey/libskey.la \ skey/libskey.la \
$(TERM_LIBS) $(TERM_LIBS)
@ -129,7 +129,7 @@ terminal-marshal.c: $(srcdir)/terminal-marshal.list
terminal-resources.h terminal-resources.c: terminal.gresource.xml Makefile $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies --sourcedir $(srcdir) $(srcdir)/terminal.gresource.xml) terminal-resources.h terminal-resources.c: terminal.gresource.xml Makefile $(shell $(GLIB_COMPILE_RESOURCES) --generate-dependencies --sourcedir $(srcdir) $(srcdir)/terminal.gresource.xml)
$(AM_V_GEN) XMLLINT=$(XMLLINT) $(GLIB_COMPILE_RESOURCES) --target $@ --sourcedir $(srcdir) --generate --c-name terminal $< $(AM_V_GEN) XMLLINT=$(XMLLINT) $(GLIB_COMPILE_RESOURCES) --target $@ --sourcedir $(srcdir) --generate --c-name terminal $<
#INTLTOOL_XML_NOMERGE_RULE@ ##INTLTOOL_XML_NOMERGE_RULE@
CLEANFILES = \ CLEANFILES = \
stamp-terminal-type-builtins.h \ stamp-terminal-type-builtins.h \

View File

@ -12,7 +12,7 @@
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="border_width">5</property> <property name="border_width">5</property>
<property name="title" translatable="yes">Keyboard Shortcuts</property> <property name="title" translatable="yes">Keyboard Shortcuts</property>
<property name="role">mate-terminal-accels</property> <property name="role">gatuno-terminal-accels</property>
<property name="type_hint">dialog</property> <property name="type_hint">dialog</property>
<child internal-child="vbox"> <child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox2"> <object class="GtkBox" id="dialog-vbox2">

View File

@ -12,7 +12,7 @@
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="border_width">5</property> <property name="border_width">5</property>
<property name="title" translatable="yes">Profiles</property> <property name="title" translatable="yes">Profiles</property>
<property name="role">mate-terminal-profile-manager</property> <property name="role">gatuno-terminal-profile-manager</property>
<property name="default_width">400</property> <property name="default_width">400</property>
<property name="default_height">300</property> <property name="default_height">300</property>
<property name="type_hint">dialog</property> <property name="type_hint">dialog</property>

View File

@ -231,7 +231,7 @@ Author: Wolfgang Ulbrich
<property name="can_focus">False</property> <property name="can_focus">False</property>
<property name="border_width">5</property> <property name="border_width">5</property>
<property name="title" translatable="yes">Profile Editor</property> <property name="title" translatable="yes">Profile Editor</property>
<property name="role">mate-terminal-profile-editor</property> <property name="role">gatuno-terminal-profile-editor</property>
<property name="default_width">600</property> <property name="default_width">600</property>
<property name="default_height">400</property> <property name="default_height">400</property>
<property name="destroy_with_parent">True</property> <property name="destroy_with_parent">True</property>

View File

@ -382,7 +382,6 @@ static int inside_gsettings_notify = 0;
static GtkWidget *edit_keys_dialog = NULL; static GtkWidget *edit_keys_dialog = NULL;
static GtkTreeStore *edit_keys_store = NULL; static GtkTreeStore *edit_keys_store = NULL;
static GHashTable *gsettings_key_to_entry; static GHashTable *gsettings_key_to_entry;
static GKeyFile *settings_keybindings;
static char* static char*
binding_name (guint keyval, binding_name (guint keyval,
@ -408,12 +407,6 @@ void
terminal_accels_init (void) terminal_accels_init (void)
{ {
guint i, j; guint i, j;
gchar *concat;
settings_keybindings = g_key_file_new ();
concat = g_strconcat (g_get_home_dir (), "/.gatuno-terminal/keybindings", NULL);
g_key_file_load_from_file (settings_keybindings, concat, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_free (concat);
gsettings_key_to_entry = g_hash_table_new (g_str_hash, g_str_equal); gsettings_key_to_entry = g_hash_table_new (g_str_hash, g_str_equal);
@ -439,7 +432,7 @@ terminal_accels_init (void)
gtk_accel_group_connect_by_path (notification_group, gtk_accel_group_connect_by_path (notification_group,
I_(key_entry->accel_path), I_(key_entry->accel_path),
key_entry->closure); key_entry->closure);
keys_change_notify (settings_keybindings, key_entry->gsettings_key, NULL); keys_change_notify (terminal_app_get_global_settings (), key_entry->gsettings_key, NULL);
} }
} }
@ -450,14 +443,6 @@ terminal_accels_init (void)
void void
terminal_accels_shutdown (void) terminal_accels_shutdown (void)
{ {
gchar *concat;
concat = g_strconcat (g_get_home_dir (), "/.gatuno-terminal/keybindings", NULL);
g_key_file_save_to_file (settings_keybindings, concat, NULL);
g_free (concat);
g_key_file_free (settings_keybindings);
if (sync_idle_id != 0) if (sync_idle_id != 0)
{ {
g_source_remove (sync_idle_id); g_source_remove (sync_idle_id);
@ -502,12 +487,20 @@ keys_change_notify (GKeyFile *settings,
KeyEntry *key_entry; KeyEntry *key_entry;
GdkModifierType mask; GdkModifierType mask;
guint keyval; guint keyval;
gboolean has_ini_value = TRUE;
GError *gerror = NULL;
_terminal_debug_print (TERMINAL_DEBUG_ACCELS, _terminal_debug_print (TERMINAL_DEBUG_ACCELS,
"key %s changed\n", "key %s changed\n",
key); key);
val = g_key_file_get_string (settings, CONF_KEYS_SCHEMA, key, NULL); val = g_key_file_get_string (settings, CONF_KEYS_SCHEMA, key, &gerror);
if (gerror != NULL) {
g_error_free (gerror);
has_ini_value = FALSE;
}
#ifdef MATE_ENABLE_DEBUG #ifdef MATE_ENABLE_DEBUG
_TERMINAL_DEBUG_IF (TERMINAL_DEBUG_ACCELS) _TERMINAL_DEBUG_IF (TERMINAL_DEBUG_ACCELS)
@ -531,8 +524,10 @@ keys_change_notify (GKeyFile *settings,
return; return;
} }
if (!binding_from_string (val, &keyval, &mask)) if (has_ini_value == FALSE) {
{ keyval = key_entry->gsettings_keyval;
mask = key_entry->gsettings_mask;
} else if (!binding_from_string (val, &keyval, &mask)) {
g_printerr ("The value \"%s\" of configuration key %s is not a valid accelerator\n", g_printerr ("The value \"%s\" of configuration key %s is not a valid accelerator\n",
val ? val : "(null)", val ? val : "(null)",
key_entry->gsettings_key); key_entry->gsettings_key);
@ -655,6 +650,7 @@ add_key_entry_to_changeset (gpointer key,
accel_name = binding_name (gtk_key.accel_key, gtk_key.accel_mods); accel_name = binding_name (gtk_key.accel_key, gtk_key.accel_mods);
g_key_file_set_string (changeset, CONF_KEYS_SCHEMA, key_entry->gsettings_key, accel_name); g_key_file_set_string (changeset, CONF_KEYS_SCHEMA, key_entry->gsettings_key, accel_name);
keys_change_notify (changeset, key_entry->gsettings_key, NULL);
g_free (accel_name); g_free (accel_name);
} }
} }
@ -667,7 +663,7 @@ sync_idle_cb (gpointer data)
sync_idle_id = 0; sync_idle_id = 0;
g_hash_table_foreach (gsettings_key_to_entry, (GHFunc) add_key_entry_to_changeset, settings_keybindings); g_hash_table_foreach (gsettings_key_to_entry, (GHFunc) add_key_entry_to_changeset, terminal_app_get_global_settings ());
return FALSE; return FALSE;
} }
@ -859,9 +855,10 @@ other_key->user_visible_name ? _(other_key->user_visible_name) : other_key->gset
} }
#endif #endif
g_key_file_set_string (settings_keybindings, CONF_KEYS_SCHEMA, g_key_file_set_string (terminal_app_get_global_settings (), CONF_KEYS_SCHEMA,
ke->gsettings_key, ke->gsettings_key,
str); str);
keys_change_notify (terminal_app_get_global_settings (), ke->gsettings_key, NULL);
g_free (str); g_free (str);
} }
@ -905,9 +902,10 @@ accel_cleared_callback (GtkCellRendererAccel *cell,
"Cleared keybinding for GSettings %s", "Cleared keybinding for GSettings %s",
ke->gsettings_key); ke->gsettings_key);
g_key_file_set_string (settings_keybindings, CONF_KEYS_SCHEMA, g_key_file_set_string (terminal_app_get_global_settings (), CONF_KEYS_SCHEMA,
ke->gsettings_key, ke->gsettings_key,
str); str);
keys_change_notify (terminal_app_get_global_settings (), ke->gsettings_key, NULL);
g_free (str); g_free (str);
} }

View File

@ -91,8 +91,6 @@ struct _TerminalApp
GtkWidget *manage_profiles_delete_button; GtkWidget *manage_profiles_delete_button;
GtkWidget *manage_profiles_default_menu; GtkWidget *manage_profiles_default_menu;
GKeyFile *settings_global;
GHashTable *profiles; GHashTable *profiles;
char* default_profile_id; char* default_profile_id;
TerminalProfile *default_profile; TerminalProfile *default_profile;
@ -138,6 +136,7 @@ enum
}; };
static TerminalApp *global_app = NULL; static TerminalApp *global_app = NULL;
static GKeyFile *settings_global = NULL;
#define MONOSPACE_FONT_SCHEMA "org.mate.interface" #define MONOSPACE_FONT_SCHEMA "org.mate.interface"
#define MONOSPACE_FONT_KEY "monospace-font-name" #define MONOSPACE_FONT_KEY "monospace-font-name"
@ -163,6 +162,8 @@ static TerminalApp *global_app = NULL;
*/ */
/* Helper functions */ /* Helper functions */
static void terminal_app_profile_list_notify_cb (TerminalApp *app);
static void terminal_app_default_profile_notify_cb (GKeyFile *settings, gchar *key, gpointer user_data);
static GdkScreen* static GdkScreen*
terminal_app_get_screen_by_display_name (const char *display_name, terminal_app_get_screen_by_display_name (const char *display_name,
@ -327,13 +328,15 @@ terminal_app_delete_profile (TerminalApp *app,
GError *error = NULL; GError *error = NULL;
profile_name = terminal_profile_get_property_string (profile, TERMINAL_PROFILE_NAME); profile_name = terminal_profile_get_property_string (profile, TERMINAL_PROFILE_NAME);
profile_dir = g_strconcat ("~/.gatuno-terminal/", profile_name, NULL); profile_dir = g_strconcat (g_get_user_config_dir (), "/gatuno-terminal/profiles/", profile_name, NULL);
/* Borrar el archivo */ /* Borrar el archivo */
g_unlink (profile_dir); g_unlink (profile_dir);
/* And remove the profile directory */
g_free (profile_dir); g_free (profile_dir);
/* Volver a listar los perfiles para provocar que se actualicen */
terminal_app_profile_list_notify_cb (app);
} }
static void static void
@ -500,7 +503,8 @@ profile_combo_box_changed_cb (GtkWidget *widget,
if (!profile) if (!profile)
return; return;
g_key_file_set_string (app->settings_global, CONF_GLOBAL_SCHEMA, DEFAULT_PROFILE_KEY, terminal_profile_get_property_string (profile, TERMINAL_PROFILE_NAME)); g_key_file_set_string (settings_global, CONF_GLOBAL_SCHEMA, DEFAULT_PROFILE_KEY, terminal_profile_get_property_string (profile, TERMINAL_PROFILE_NAME));
terminal_app_default_profile_notify_cb (settings_global, DEFAULT_PROFILE_KEY, app);
/* FIXME: ¿debería guardar el archivo? */ /* FIXME: ¿debería guardar el archivo? */
/* Even though the GSettings change notification does this, it happens too late. /* Even though the GSettings change notification does this, it happens too late.
@ -755,18 +759,10 @@ static gchar **terminal_app_profile_list_from_dir (TerminalApp *app) {
int ret; int ret;
gchar **profile_list = NULL; gchar **profile_list = NULL;
profile_dir = g_strconcat (g_get_home_dir (), "/.gatuno-terminal/profiles", NULL); profile_dir = g_strconcat (g_get_user_config_dir (), "/gatuno-terminal/profiles", NULL);
/* Verificar que exista como directorio */ /* Posiblemente no exista, intentar crear como directorio */
if (g_file_test (profile_dir, G_FILE_TEST_IS_DIR)) { ret = g_mkdir_with_parents (profile_dir, 0755);
/* Posiblemente no exista, intentar crear como directorio */
ret = g_mkdir_with_parents (profile_dir, 0640);
} else if (g_file_test (profile_dir, G_FILE_TEST_EXISTS)) {
/* Si no es directorio, estamos en problemas */
g_free (profile_dir);
return NULL;
}
builder_str = g_ptr_array_new_with_free_func (g_free); builder_str = g_ptr_array_new_with_free_func (g_free);
dir = g_dir_open (profile_dir, 0, NULL); dir = g_dir_open (profile_dir, 0, NULL);
@ -996,31 +992,15 @@ terminal_app_encoding_list_notify_cb (GKeyFile *settings,
} }
static void static void
terminal_app_system_font_notify_cb (GKeyFile *settings, terminal_app_system_set_default_font (TerminalApp *app)
gchar *key,
gpointer user_data)
{ {
TerminalApp *app = TERMINAL_APP (user_data);
char *font = NULL;
PangoFontDescription *font_desc; PangoFontDescription *font_desc;
if (strcmp (key, MONOSPACE_FONT_KEY) != 0) font_desc = pango_font_description_from_string (DEFAULT_MONOSPACE_FONT);
return;
font = g_key_file_get_string (settings, CONF_GLOBAL_SCHEMA, key, NULL);
if (!font)
font = g_strdup (DEFAULT_MONOSPACE_FONT);
g_assert (font != NULL);
if (font && (strlen (font) == 0)) /* empty string */
font = g_strdup (DEFAULT_MONOSPACE_FONT);
font_desc = pango_font_description_from_string (font);
if (app->system_font_desc && if (app->system_font_desc &&
pango_font_description_equal (app->system_font_desc, font_desc)) pango_font_description_equal (app->system_font_desc, font_desc))
{ {
pango_font_description_free (font_desc); pango_font_description_free (font_desc);
g_free (font);
return; return;
} }
@ -1030,7 +1010,6 @@ terminal_app_system_font_notify_cb (GKeyFile *settings,
app->system_font_desc = font_desc; app->system_font_desc = font_desc;
g_object_notify (G_OBJECT (app), TERMINAL_APP_SYSTEM_FONT); g_object_notify (G_OBJECT (app), TERMINAL_APP_SYSTEM_FONT);
g_free (font);
} }
static void static void
@ -1122,13 +1101,15 @@ new_profile_response_cb (GtkWidget *new_profile_dialog,
{ {
confirm_dialog = gtk_message_dialog_new (GTK_WINDOW (new_profile_dialog), confirm_dialog = gtk_message_dialog_new (GTK_WINDOW (new_profile_dialog),
GTK_DIALOG_DESTROY_WITH_PARENT, GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR, GTK_MESSAGE_QUESTION,
GTK_BUTTONS_CLOSE, GTK_BUTTONS_YES_NO,
_("You already have a profile called “%s”. Can't have two profiles with the same name"), name); _("You already have a profile called “%s”. Do you want to create another profile with the same name?"), name);
/* Alternative button order was set automatically by GtkMessageDialog */ /* Alternative button order was set automatically by GtkMessageDialog */
retval = gtk_dialog_run (GTK_DIALOG (confirm_dialog)); retval = gtk_dialog_run (GTK_DIALOG (confirm_dialog));
gtk_widget_destroy (confirm_dialog); gtk_widget_destroy (confirm_dialog);
goto cleanup; if (retval == GTK_RESPONSE_NO) {
goto cleanup;
}
} }
g_list_free (profiles); g_list_free (profiles);
@ -1141,7 +1122,7 @@ new_profile_response_cb (GtkWidget *new_profile_dialog,
new_profile /* adopts the refcount */); new_profile /* adopts the refcount */);
terminal_profile_edit (new_profile, transient_parent, NULL); terminal_profile_edit (new_profile, transient_parent, NULL);
terminal_app_profile_list_notify_cb (app);
cleanup: cleanup:
g_free (name); g_free (name);
} }
@ -1364,32 +1345,36 @@ terminal_app_init (TerminalApp *app)
/* Initialise defaults */ /* Initialise defaults */
app->enable_mnemonics = DEFAULT_ENABLE_MNEMONICS; app->enable_mnemonics = DEFAULT_ENABLE_MNEMONICS;
app->enable_menu_accels = DEFAULT_ENABLE_MENU_BAR_ACCEL; app->enable_menu_accels = DEFAULT_ENABLE_MENU_BAR_ACCEL;
app->system_font_desc = NULL;
app->profiles = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref); app->profiles = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref);
app->encodings = terminal_encodings_get_builtins (); app->encodings = terminal_encodings_get_builtins ();
app->settings_global = g_key_file_new (); /* Verificar que exista como directorio */
concat = g_strconcat (g_get_home_dir (), "/.gatuno-terminal/config", NULL); concat = g_strconcat (g_get_user_config_dir (), "/gatuno-terminal", NULL);
g_key_file_load_from_file (app->settings_global, concat, G_KEY_FILE_KEEP_COMMENTS, NULL); /* Posiblemente no exista, intentar crear como directorio */
g_mkdir_with_parents (concat, 0755);
g_free (concat);
settings_global = g_key_file_new ();
concat = g_strconcat (g_get_user_config_dir (), "/gatuno-terminal/config", NULL);
g_key_file_load_from_file (settings_global, concat, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_free (concat); g_free (concat);
/* Load the settings */ /* Load the settings */
terminal_app_profile_list_notify_cb (app); terminal_app_profile_list_notify_cb (app);
terminal_app_default_profile_notify_cb (app->settings_global, terminal_app_default_profile_notify_cb (settings_global,
DEFAULT_PROFILE_KEY, DEFAULT_PROFILE_KEY,
app); app);
terminal_app_encoding_list_notify_cb (app->settings_global, terminal_app_encoding_list_notify_cb (settings_global,
ENCODING_LIST_KEY, ENCODING_LIST_KEY,
app); app);
terminal_app_system_font_notify_cb (app->settings_global, terminal_app_system_set_default_font (app);
MONOSPACE_FONT_KEY, terminal_app_enable_menu_accels_notify_cb (settings_global,
app);
terminal_app_enable_menu_accels_notify_cb (app->settings_global,
ENABLE_MENU_BAR_ACCEL_KEY, ENABLE_MENU_BAR_ACCEL_KEY,
app); app);
terminal_app_enable_mnemonics_notify_cb (app->settings_global, terminal_app_enable_mnemonics_notify_cb (settings_global,
ENABLE_MNEMONICS_KEY, ENABLE_MNEMONICS_KEY,
app); app);
@ -1407,9 +1392,9 @@ terminal_app_finalize (GObject *object)
gchar *concat; gchar *concat;
/* Guardar las configuraciones antes de salir */ /* Guardar las configuraciones antes de salir */
concat = g_strconcat (g_get_home_dir (), "/.gatuno-terminal/config", NULL); concat = g_strconcat (g_get_user_config_dir (), "/gatuno-terminal/config", NULL);
g_key_file_save_to_file (app->settings_global, concat, NULL); g_key_file_save_to_file (settings_global, concat, NULL);
g_key_file_free (app->settings_global); g_key_file_free (settings_global);
g_free (concat); g_free (concat);
g_free (app->default_profile_id); g_free (app->default_profile_id);
@ -1470,11 +1455,11 @@ terminal_app_set_property (GObject *object,
{ {
case PROP_ENABLE_MENU_BAR_ACCEL: case PROP_ENABLE_MENU_BAR_ACCEL:
app->enable_menu_accels = g_value_get_boolean (value); app->enable_menu_accels = g_value_get_boolean (value);
g_key_file_set_boolean (app->settings_global, CONF_GLOBAL_SCHEMA, ENABLE_MENU_BAR_ACCEL_KEY, app->enable_menu_accels); g_key_file_set_boolean (settings_global, CONF_GLOBAL_SCHEMA, ENABLE_MENU_BAR_ACCEL_KEY, app->enable_menu_accels);
break; break;
case PROP_ENABLE_MNEMONICS: case PROP_ENABLE_MNEMONICS:
app->enable_mnemonics = g_value_get_boolean (value); app->enable_mnemonics = g_value_get_boolean (value);
g_key_file_set_boolean (app->settings_global, CONF_GLOBAL_SCHEMA, ENABLE_MNEMONICS_KEY, app->enable_mnemonics); g_key_file_set_boolean (settings_global, CONF_GLOBAL_SCHEMA, ENABLE_MNEMONICS_KEY, app->enable_mnemonics);
break; break;
case PROP_DEFAULT_PROFILE: case PROP_DEFAULT_PROFILE:
case PROP_SYSTEM_FONT: case PROP_SYSTEM_FONT:
@ -1572,6 +1557,10 @@ terminal_app_get (void)
return global_app; return global_app;
} }
GKeyFile *terminal_app_get_global_settings (void) {
return settings_global;
}
void void
terminal_app_shutdown (void) terminal_app_shutdown (void)
{ {

View File

@ -82,6 +82,7 @@ typedef struct _TerminalApp TerminalApp;
GType terminal_app_get_type (void); GType terminal_app_get_type (void);
TerminalApp* terminal_app_get (void); TerminalApp* terminal_app_get (void);
GKeyFile *terminal_app_get_global_settings (void);
void terminal_app_shutdown (void); void terminal_app_shutdown (void);

View File

@ -556,7 +556,7 @@ terminal_profile_ini_read (GKeyFile *settings,
TerminalProfileClass *klass; TerminalProfileClass *klass;
GError *gerror = NULL; GError *gerror = NULL;
GParamSpec *pspec; GParamSpec *pspec;
GValue value = { 0, }; GValue value = { 0, }, *default_value;
gboolean equal; gboolean equal;
gboolean force_set = FALSE; gboolean force_set = FALSE;
@ -577,7 +577,9 @@ terminal_profile_ini_read (GKeyFile *settings,
if (gerror != NULL) { if (gerror != NULL) {
/* No es un boolean, triste caso */ /* No es un boolean, triste caso */
g_error_free (gerror); g_error_free (gerror);
goto out;
default_value = g_param_spec_get_default_value (pspec);
res = g_value_get_boolean (default_value);
} }
g_value_set_boolean (&value, res); g_value_set_boolean (&value, res);
@ -588,6 +590,8 @@ terminal_profile_ini_read (GKeyFile *settings,
cadena = g_key_file_get_string (settings, PROFILE_GROUP_NAME, g_param_spec_get_name (pspec), NULL); cadena = g_key_file_get_string (settings, PROFILE_GROUP_NAME, g_param_spec_get_name (pspec), NULL);
if (cadena == NULL) { if (cadena == NULL) {
default_value = g_param_spec_get_default_value (pspec);
g_value_set_string (&value, g_value_get_string (default_value));
goto out; goto out;
} }
@ -601,7 +605,8 @@ terminal_profile_ini_read (GKeyFile *settings,
if (gerror != NULL) { if (gerror != NULL) {
/* No es un entero, mal */ /* No es un entero, mal */
g_error_free (gerror); g_error_free (gerror);
goto out; default_value = g_param_spec_get_default_value (pspec);
entero = g_value_get_enum (default_value);
} }
g_value_set_enum (&value, entero); g_value_set_enum (&value, entero);
@ -614,7 +619,15 @@ terminal_profile_ini_read (GKeyFile *settings,
cadena = g_key_file_get_string (settings, PROFILE_GROUP_NAME, g_param_spec_get_name (pspec), NULL); cadena = g_key_file_get_string (settings, PROFILE_GROUP_NAME, g_param_spec_get_name (pspec), NULL);
if (cadena == NULL) { if (cadena == NULL) {
goto out; if (strcmp (g_param_spec_get_name (pspec), KEY_FOREGROUND_COLOR) == 0) {
cadena = g_strdup ("#000000");
} else if (strcmp (g_param_spec_get_name (pspec), KEY_BACKGROUND_COLOR) == 0) {
cadena = g_strdup ("#FFFFDD");
} else if (strcmp (g_param_spec_get_name (pspec), KEY_BOLD_COLOR) == 0) {
cadena = g_strdup ("#000000");
} else {
goto out;
}
} }
if (!gdk_rgba_parse (&color, cadena)) { if (!gdk_rgba_parse (&color, cadena)) {
@ -631,7 +644,11 @@ terminal_profile_ini_read (GKeyFile *settings,
cadena = g_key_file_get_string (settings, PROFILE_GROUP_NAME, g_param_spec_get_name (pspec), NULL); cadena = g_key_file_get_string (settings, PROFILE_GROUP_NAME, g_param_spec_get_name (pspec), NULL);
if (cadena == NULL) { if (cadena == NULL) {
goto out; if (strcmp (g_param_spec_get_name (pspec), KEY_FONT) == 0) {
cadena = g_strdup ("Monospace 12");
} else {
goto out;
}
} }
g_value_take_boxed (&value, pango_font_description_from_string (cadena)); g_value_take_boxed (&value, pango_font_description_from_string (cadena));
@ -644,7 +661,8 @@ terminal_profile_ini_read (GKeyFile *settings,
if (gerror != NULL) { if (gerror != NULL) {
g_error_free (gerror); g_error_free (gerror);
goto out; default_value = g_param_spec_get_default_value (pspec);
doble = g_value_get_double (default_value);
} }
g_value_set_double (&value, doble); g_value_set_double (&value, doble);
} }
@ -656,7 +674,9 @@ terminal_profile_ini_read (GKeyFile *settings,
if (gerror != NULL) { if (gerror != NULL) {
/* No es un entero, mal */ /* No es un entero, mal */
g_error_free (gerror); g_error_free (gerror);
goto out;
default_value = g_param_spec_get_default_value (pspec);
entero = g_value_get_int (default_value);
} }
g_value_set_int (&value, entero); g_value_set_int (&value, entero);
@ -670,7 +690,7 @@ terminal_profile_ini_read (GKeyFile *settings,
color_strings = g_key_file_get_string_list (settings, PROFILE_GROUP_NAME, g_param_spec_get_name (pspec), NULL, NULL); color_strings = g_key_file_get_string_list (settings, PROFILE_GROUP_NAME, g_param_spec_get_name (pspec), NULL, NULL);
if (color_strings == NULL) { if (color_strings == NULL) {
goto out; color_strings = g_strsplit ("#2E2E34343636:#CCCC00000000:#4E4E9A9A0606:#C4C4A0A00000:#34346565A4A4:#757550507B7B:#060698209A9A:#D3D3D7D7CFCF:#555557575353:#EFEF29292929:#8A8AE2E23434:#FCFCE9E94F4F:#72729F9FCFCF:#ADAD7F7FA8A8:#3434E2E2E2E2:#EEEEEEEEECEC", ":", 0);
} }
n_colors = g_strv_length (color_strings); n_colors = g_strv_length (color_strings);
@ -875,7 +895,7 @@ terminal_profile_save (TerminalProfile *profile)
priv->dirty_pspecs = NULL; priv->dirty_pspecs = NULL;
#endif #endif
concat = g_strconcat (g_get_home_dir (), "/.gatuno-terminal/profiles/", priv->profile_dir, NULL); concat = g_strconcat (g_get_user_config_dir (), "/gatuno-terminal/profiles/", priv->profile_dir, NULL);
was_saved = g_key_file_save_to_file (priv->settings, concat, &gerror); was_saved = g_key_file_save_to_file (priv->settings, concat, &gerror);
@ -978,7 +998,7 @@ terminal_profile_constructor (GType type,
g_assert (name != NULL); g_assert (name != NULL);
priv->settings = g_key_file_new (); priv->settings = g_key_file_new ();
concat = g_strconcat (g_get_home_dir (), "/.gatuno-terminal/profiles/", priv->profile_dir, NULL); concat = g_strconcat (g_get_user_config_dir (), "/gatuno-terminal/profiles/", priv->profile_dir, NULL);
g_key_file_load_from_file (priv->settings, concat, G_KEY_FILE_KEEP_COMMENTS, NULL); g_key_file_load_from_file (priv->settings, concat, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_free (concat); g_free (concat);
@ -1132,7 +1152,7 @@ terminal_profile_set_property (GObject *object,
gchar *concat; gchar *concat;
g_key_file_free (priv->settings); g_key_file_free (priv->settings);
concat = g_strconcat (g_get_home_dir (), "/.gatuno-terminal/profiles/", priv->profile_dir, NULL); concat = g_strconcat (g_get_user_config_dir (), "/gatuno-terminal/profiles/", priv->profile_dir, NULL);
priv->settings = g_key_file_new (); priv->settings = g_key_file_new ();
g_key_file_load_from_file (priv->settings, concat, G_KEY_FILE_KEEP_COMMENTS, NULL); g_key_file_load_from_file (priv->settings, concat, G_KEY_FILE_KEEP_COMMENTS, NULL);
g_free (concat); g_free (concat);

View File

@ -159,10 +159,10 @@ static gboolean terminal_window_focus_in_event (GtkWidget *widget,
static gboolean notebook_button_press_cb (GtkWidget *notebook, static gboolean notebook_button_press_cb (GtkWidget *notebook,
GdkEventButton *event, GdkEventButton *event,
GSettings *settings); gpointer data);
static gboolean window_key_press_cb (GtkWidget *notebook, static gboolean window_key_press_cb (GtkWidget *notebook,
GdkEventKey *event, GdkEventKey *event,
GSettings *settings); gpointer data);
static gboolean notebook_popup_menu_cb (GtkWidget *notebook, static gboolean notebook_popup_menu_cb (GtkWidget *notebook,
TerminalWindow *window); TerminalWindow *window);
static void notebook_page_selected_callback (GtkWidget *notebook, static void notebook_page_selected_callback (GtkWidget *notebook,
@ -2145,8 +2145,6 @@ terminal_window_init (TerminalWindow *window)
GtkStyleContext *context; GtkStyleContext *context;
GSettings *settings = g_settings_new ("org.mate.terminal.global");
context = gtk_widget_get_style_context (GTK_WIDGET (window)); context = gtk_widget_get_style_context (GTK_WIDGET (window));
gtk_style_context_add_class (context, "mate-terminal"); gtk_style_context_add_class (context, "mate-terminal");
@ -2165,9 +2163,9 @@ terminal_window_init (TerminalWindow *window)
gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->notebook), FALSE); gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->notebook), FALSE);
gtk_notebook_set_group_name (GTK_NOTEBOOK (priv->notebook), I_("mate-terminal-window")); gtk_notebook_set_group_name (GTK_NOTEBOOK (priv->notebook), I_("mate-terminal-window"));
g_signal_connect (priv->notebook, "button-press-event", g_signal_connect (priv->notebook, "button-press-event",
G_CALLBACK (notebook_button_press_cb), settings); G_CALLBACK (notebook_button_press_cb), NULL);
g_signal_connect (window, "key-press-event", g_signal_connect (window, "key-press-event",
G_CALLBACK (window_key_press_cb), settings); G_CALLBACK (window_key_press_cb), NULL);
g_signal_connect (priv->notebook, "popup-menu", g_signal_connect (priv->notebook, "popup-menu",
G_CALLBACK (notebook_popup_menu_cb), window); G_CALLBACK (notebook_popup_menu_cb), window);
g_signal_connect_after (priv->notebook, "switch-page", g_signal_connect_after (priv->notebook, "switch-page",
@ -2864,7 +2862,7 @@ terminal_window_get_active (TerminalWindow *window)
static gboolean static gboolean
notebook_button_press_cb (GtkWidget *widget, notebook_button_press_cb (GtkWidget *widget,
GdkEventButton *event, GdkEventButton *event,
GSettings *settings) gpointer data)
{ {
TerminalWindow *window = TERMINAL_WINDOW (gtk_widget_get_toplevel (widget)); TerminalWindow *window = TERMINAL_WINDOW (gtk_widget_get_toplevel (widget));
TerminalWindowPrivate *priv = window->priv; TerminalWindowPrivate *priv = window->priv;
@ -2876,9 +2874,17 @@ notebook_button_press_cb (GtkWidget *widget,
int page_num; int page_num;
int before_pages; int before_pages;
int later_pages; int later_pages;
gboolean middle_closes;
GError *gerror = NULL;
if ((event->type == GDK_BUTTON_PRESS && event->button == 2) && middle_closes = g_key_file_get_boolean (terminal_app_get_global_settings (), CONF_GLOBAL_SCHEMA, "middle-click-closes-tabs", &gerror);
(g_settings_get_boolean (settings, "middle-click-closes-tabs"))) if (gerror != NULL) {
g_error_free (gerror);
middle_closes = FALSE;
}
if ((event->type == GDK_BUTTON_PRESS && event->button == 2) && middle_closes)
{ {
tab_clicked = find_tab_num_at_pos (notebook, event->x_root, event->y_root); tab_clicked = find_tab_num_at_pos (notebook, event->x_root, event->y_root);
if (tab_clicked >= 0) if (tab_clicked >= 0)
@ -2936,9 +2942,19 @@ notebook_button_press_cb (GtkWidget *widget,
static gboolean static gboolean
window_key_press_cb (GtkWidget *widget, window_key_press_cb (GtkWidget *widget,
GdkEventKey *event, GdkEventKey *event,
GSettings *settings) gpointer data)
{ {
if (g_settings_get_boolean (settings, "ctrl-tab-switch-tabs") && gboolean tab_switches;
GError *gerror = NULL;
tab_switches = g_key_file_get_boolean (terminal_app_get_global_settings (), CONF_GLOBAL_SCHEMA, "ctrl-tab-switch-tabs", &gerror);
if (gerror != NULL) {
g_error_free (gerror);
tab_switches = FALSE;
}
if (tab_switches &&
event->state & GDK_CONTROL_MASK) event->state & GDK_CONTROL_MASK)
{ {
TerminalWindow *window = TERMINAL_WINDOW (widget); TerminalWindow *window = TERMINAL_WINDOW (widget);
@ -3499,11 +3515,11 @@ confirm_close_window_or_tab (TerminalWindow *window,
{ {
TerminalWindowPrivate *priv = window->priv; TerminalWindowPrivate *priv = window->priv;
GtkWidget *dialog; GtkWidget *dialog;
GSettings *settings;
gboolean do_confirm; gboolean do_confirm;
gboolean has_processes; gboolean has_processes;
int n_tabs; int n_tabs;
char *confirm_msg; char *confirm_msg;
GError *gerror = NULL;
if (priv->confirm_close_dialog) if (priv->confirm_close_dialog)
{ {
@ -3512,9 +3528,13 @@ confirm_close_window_or_tab (TerminalWindow *window,
GTK_RESPONSE_DELETE_EVENT); GTK_RESPONSE_DELETE_EVENT);
} }
settings = g_settings_new (CONF_GLOBAL_SCHEMA); do_confirm = g_key_file_get_boolean (terminal_app_get_global_settings (), CONF_GLOBAL_SCHEMA, "confirm-window-close", &gerror);
do_confirm = g_settings_get_boolean (settings, "confirm-window-close"); if (gerror != NULL) {
g_object_unref (settings); g_error_free (gerror);
do_confirm = TRUE;
}
if (!do_confirm) if (!do_confirm)
return FALSE; return FALSE;

View File

@ -1,22 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- <!--
This file is part of MATE Terminal. This file is part of Gatuno Terminal.
MATE Terminal is free software: you can redistribute it and/or modify Gatuno Terminal is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or the Free Software Foundation, either version 2 of the License, or
(at your option) any later version. (at your option) any later version.
MATE Terminal is distributed in the hope that it will be useful, Gatuno Terminal is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with MATE Terminal. If not, see <http://www.gnu.org/licenses/>. along with Gatuno Terminal. If not, see <http://www.gnu.org/licenses/>.
--> -->
<gresources> <gresources>
<gresource prefix="/org/mate/terminal/ui"> <gresource prefix="/org/gatuno/terminal/ui">
<file compressed="true" preprocess="xml-stripblanks">encodings-dialog.ui</file> <file compressed="true" preprocess="xml-stripblanks">encodings-dialog.ui</file>
<file compressed="true" preprocess="xml-stripblanks">find-dialog.ui</file> <file compressed="true" preprocess="xml-stripblanks">find-dialog.ui</file>
<file compressed="true" preprocess="xml-stripblanks">keybinding-editor.ui</file> <file compressed="true" preprocess="xml-stripblanks">keybinding-editor.ui</file>